|
(21)C语言中 while 和do-while循环的主要区别是 A)do-while的循环体至少无条件执行一次 B)while的循环控制条件比do-while的循环控制条件更严格 C)do-while允许从外部转到循环体内 D)do-while 的循环体不能是复合语句 (22)以下程序的输出结果是 main() { int x=1,y=3; printf("%d,",x++); { int x=0;x+=y*2; printf("%d,%d, ",x,y); } printf("%d,%d\n",x,y); } A)1,6,3,1,3 B)1,6,3,6,3 C)1,6,3,2,3 D)1,7,3,2,3 (23)下面程序输出的结果是 main() { int i; int a[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d ",a[2-i][i]); } A)1 5 9 B)7 5 3 C)3 5 7 D)5 9 1 (24)请阅读以下程序: main() { int a=5,b=0,c=0; if(a=b+c)printf("***\n"); else printf("$$$\n"); } 以上程序 A)有语法错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$ (25)以下程序的输出结果是 main() { char c=′z′; printf("%c",c-25); } A)a B)Z C)z-25 D)y (26)下面函数的功能是 char *fun(char *str1,char*str2) {while((*str1)&&(*str2++=*str1++)); return str2; } A)求字符串的长度 B)比较两个字符串的大小 C)将字符串str1复制到字符串str2中 D)将字符串str1接续到字符串str2中 (27)下面函数调用语句含有实参的个数为 func((exp1,exp2),(exp3,exp4,exp5)); A)1 B)2 C)4 D)5 (28)下面程序段的运行结果是 char *s="abcde"; s+=2;printf("%d",s); A)cde B)字符′c′ C)字符′c′的地址 D)无确定的输出结果 (29)已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是 void print_value(int *x) {printf("%d\n",++*x);} A)23 B)24 C)25 D)26 (30)当顺利执行了文件关闭操作时,fclose函数的返回值是 A)-1 B)TRUE C)0 D)1 (31)设有如下定义 char *s[2]={ "abcd","ABCD"}; 则下列说法错误的是 A)s数组元素的值分别是"abcd"和"ABCD"两个字符串的首地址 B)s是指针数组名,它含有两个元素分别指向字符型一维数组 C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素 D)s数组的两个元素中分别存放了字符′a′和′A′的地址 (32)以下不能对二维数组a进行正确初始化的语句是 A)int a[2][3]={0}; B)int a[][3]={{1,2},{0}}; C)int a[2][3]={{1,2},{3,4},{5,6}}; D)int a[][3]={1,2,3,4,5,6}; (33)有以下程序 struct STU { char num[10]; float score[3]; }; main() {struct STU s[3]={{"20021",90,95,85}, {"20022",95,80,75}, { "20023",100,95,90}, },*p=s; int i; float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i]; printf("%6.2f\n",sum); } 程序运行后的输出结果是 A)260.00 B)270.00 C)280.00 D)285.00 (34)若有说明:int a[10];则对a数组元素的正确引用是 A)a[10] B)a[3,5] C)a(5) D)a[10-10] (35)下面程序段中,输出*的个数是 char *s="\ta\018bc"; for(;*s!=′\0′;s++)printf("*"); A)9 B)5 C)6 D)7
共5页: 上一页 [1] 2 [3] [4] [5] 下一页
|