k=5 i=4 k=5 (17)已有定义:char c;,程序前面已在命令行中包含 ctype.h 文件,不能用于判断 c 中的字符是否为大写字母的表 达式是 a)isupper(c) b)′a′<=c<=′z′ c)′a′<=c&&c<=′z′ d)c<=(′z′-32)&&(′a′-32)<=c (18)设有: int a=1,b=2,c=3,d=4,m=2,n=2; 执行 (m=a>b)&&(n=c>d)后,n 的值是 a)1 b)2 c)3 d)4 (19)若变量已正确定义,有以下程序段 int a=3,b=5,c=7; if(a>b) a=b; c=a; if(c!=a) c=b; printf("%d,%d,%d",a,b,c); 其输出结果是 a)程序段有语法错 b)3,5,3 c)3,5,5 (20)若有定义:float x=1.5;int a=1,b=3,c=2;,则正确的 switch 语句是 a)switch(x) {case 1.0:printf("*"); case 2.0:printf("**");} b)switch((int)x); {case 1:printf("*"); case 2:printf("**");} c)switch(a+b) {case 1:printf("*"); case 2+1:printf("**");} d)switch(a+b) {case1:printf(**);} casec:printf(**);}
d)3,5,7
(21)有以下程序 #include <stdio.h> main0 { int y=9; for( ; y>0;y--) if(y%3==0) printf("%d",--y); } 程序的运行结果是 a)741 b)963 c)852 d)875421 (22)以下描述中正确的是 a)由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 b)do-while 循环由 do 开始,用 while 结束,在 while(表达式)后面不能写分号 c)在 do-while 循环体中,是先执行一次循环,再进行判断 d)do-while 循环中,根据情况可以省略 while (23)有以下程序 #include <stdio.h> main() { int a[ ]={1,2,3,4},y, *p=&a[3]; --p; y= *p;printf("y=%d ",y); } 程序的运行结果是 a)y=0 b)y=1 c)y=2 d)y=3 (24)以下数组定义中错误的是 a)int x[][3]={0}; b)int x[2][3]={{l,2},{3,4},{5,6}}; c)int x[][3]={{l,2,3},{4,5,6}}; d)int
x[2][3]={l,2,3,4,5,6}; (25)下面说明不正确的是 a)char a[10]="china"; b)char a[10],*p=a;p="china" c)char *a;a="china" a[10],*p;p=a="china" (26)若有定义:int a[2][3];,以下选项中对 a 数组元素正确引用的是 a)a[2][!1] b)a[2][3] c)a[0][3] d)a[1>2][!1] (27)若要求从键盘读入含有空格字符的字符串,应使用函数 a)getc() b)gets() c)getchar() d)scanf() (28)阅读下列程序段,则程序的输出结果为 #include "stdio.h" #define m(x,y)(x)*(y) #define n(x,y)(x)/(y) main() { int a=5,b=6,c=8,k; k=n(m(a,b),c); printf("%d",k); a)3 b)5 c)6 d)8 (29)在 16 位 ibm-pc 机上使用 c 语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量 b 占用内存的字节数是 a)1 b)2 c)7 d)11 (30)有以下程序 #include<stdio.h> main() {file *fp; int i,a[6]={l,2,3,4,5,6}; fp=fopen("d3.dat","w+b"); fwrite(a,sizeof(int),6,fp); fseek(fp,sizeof(int)*3,seek_set);/*该语句使读文件的位置指针从文件头向后移动 3 个 int 型数据*/ fread(a,sizeof(int),3,fp); fclose(fp); for(i=0;i<6;i++)printf("%d,",a[i]); } 程序运行后的输出结果是 a)4,5,6,4,5,6, b)1,2,3,4,5,6, c)4,5,6,1,2,3, d)6,5,4,3,2,1, (31)有以下程序 #include <stdio.h> main() { int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i<12;i++) c[s[i]]++; for(i=1;i<5;i++) printf("%d",c[i]); printf(""); } 程序的运行结果是 a)1 2 3 4 b)2 3 4 4 c)4 3 3 2 d)1 1 2 3 (32)有以下程序 #include <stdio.h> void fun(int *a,int n)/*fun 函数的功能是将 a 所指数组元素从大到小排序*/ { int t,i,j; for(i=0;i<n-1;j++) for(j=i+1;j<n;j++) if(a[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t;} } main() { int c[10]={1,2,3,4,5,6,7,8,9,0},i;
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-28349-16.html
至甲午海战时