出自:兰州理工大学C语言程序设计a

在 C 语言中,下列标识符中合法的是( ) A. -int B. in1_3 C. A_B!D D. const
不属于 C 语言基本数据类型的是( ) A. int B. union C. char D. unsigned
下面是对宏定义的描述。不正确的是( ) A. 宏不存在类型问题,宏名无类型,它的参数也无类型 B. 宏替换不占用运行时间 C. 宏替换只是字符串的简单替代 D. 宏替换时先检查类型,类型一致时才可以替换
C 语言中,″\\xfds″在内存中占用的字节数是( ) A.3 B.4 C.5 D.6
设 int x;则执行 printf(″%x\n″,~x^x);的结果是( ) A. ffffffff B. ff C. 0 D. 1
对于 while 语句,错误的说法是( ) A.用条件控制循环体的执行次数 B.循环体至少要执行一次 C.循环体有可能一次也不执行 D.循环体中可以包含若干条语句
执行下列语句后输出的结果是( ) int a=8,b=7,c=6; if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c); A.6,7,7 B.6,7,8 C.8,7,6 D.8,7,8
设 int a=9,b=20;则 printf(″%d,%d\n″,a--,--b);的输出结果是( ) A.9,19 B.9,20 C.10,19 D.10,20
设 static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′}; 那么( ) A.x 数组的长度等于 y 数组的长度 B.x 数组的长度大于 y 数组的长度 C.x 数组的长度少于 y 数组的长度 D.x 数组与 y 数组的存储区域相同
设 int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( ) for(i=0;i<3;i++) printf(″%d″,x[i][2-i]); A.147 B.159 C.357 D.369
执行完下列语句后,n 的值是( ) int n; for (n=0 ; n<100 ; n=2*n+1); A.125 B.126 C.127 D.128
有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( ) A.–132 B.–60 C. -24 D. 0
为了连接两个字符串 s1 与 s2,应当使用( ) A. strcat( s1,s2 ) B. strcpy( s1, s2 ) C. strlen( s1, s2 ) D. strcmp( s1, s2 )
设 int a,*p;则语句 p=&a;中的运算符“&”的含义是( ) A.位与运算 B.逻辑与运算 C.取指针内容 D.取变量地址
下面输出的结果为( )int a=13, b=64; printf(“%d\n”, !a || (b>>3) ); A.13 B.64 C.1 D.0
下列定义正确的是( ) A.enum t={a,b}x; B. enum t{1,2}x; C. enum {′+′,′-′}x; D. enum t{a,b}x;
设有定义:struct u{int a[4];float b[3]; char c[16];}aa; 则 printf(″%d\n″,sizeof(aa));的输出是( ) A.32 B.36 C.12 D.8
数据-54.78 在文本文件中占用的字节个数是( ) A.4 B.5 C.6 D.8
在宏定义#define p(r) 3.14*r 中,请问宏名是( ) A. p B. p(r) C. 3.14*r D. p(r) 3.14*r
要打开一个已存在的用于修改的非空二进制文件“hello.txt”,正确语句是( ) A. fp=fopen( "hello.txt ","r" ) B. fp=fopen( "hello.txt ","ab+" ) C. fp=fopen( "hello.txt ","w" ) D. fp=fopen( "hello.txt ","r+" )
以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成 绩,当输入负数时结束输入.请填空.#include <stdio.h> int main(int argc, char* argv[]) { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( 21 ) { if(x>amax) amax=x; if( 22 ) amin=x; scanf("%f",&x); }printf("\namax=%f\namin=%f\n",amax,amin); return 0; }
下面程序的功能是比较字符数组 a 和字符数组 b 中的两个字符串是否相等(比较对应 字符,全部相同输出 0,如果不同,返回第一个不相同的字符差值,并输出)。#include <stdio.h> int main(void) { char a[100]="Hello World!"; char b[100]="Hello Chengdu!"; 23 ; /* 完成对应字符的比较,并判定一个字符串是否 结束了*/ while( 24 ) { i++; }printf("%d\n", a[i]-b[i] ); return 0;
就以下程序空缺的地方进行填空。#include <stdio.h> #include <ctype.h> int main(int argc, char* argv[]) { char str[81],*sptr; int i; for(i=0;i<80;i++) { str[i]=getchar(); if(str[i]==.\n.) break; }str[i]= ( 25 ); sptr=str; while(*sptr) putchar( 26 ); return 0; }
.以下程序对一个 3×3 的矩阵进行行列互换#include <stdio.h> int main(int argc, char* argv[]) { int i,j,temp; int a[3][3]={1,2,3,4,5,6,7,8,9}; for( i=0 ; i<3; i++) for( j=0; ( 27 )i; j++) temp=a[i][j], ( 28 ), ( 29 ); printf("\n the result array is:\n"); for(i=0;i<3;i++) { printf("\n"); for(j=0;j<3;j++) printf("%5d",a[i][j]); }return 0; }
设计函数实现将一个字符串中小写字母转化为大写字母。
计算 e  1 11!  21! n1! 的值并输出(设 n=20)