C语言.docx
- 文档编号:28132427
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:23
- 大小:25.69KB
C语言.docx
《C语言.docx》由会员分享,可在线阅读,更多相关《C语言.docx(23页珍藏版)》请在冰豆网上搜索。
C语言
1、下面程序运行后,文件d_f.dat的内容是(D)。
P342
main()
{FILE*fp;inti=10,j=20;
fp=fopen("d_f.dat","w");把文件中的给fp问题?
fprintf(fp,"%d",i);
fclose(fp);
fp=fopen("d_f.dat","a");
fprintf("%d",j);
fclose(fp);
}A.1020B.20C.2010D.10
2、若有定义:
enumday{sun,mon,tue,wed,thu,fri,sat};,则枚举常量sun、mon的值分别为(D)。
A.70B.12C.71D.01P313
3、下列程序段运行后,表达式(B)的值为3。
问题
structpoint
{intx;
inty;
}*p;
structpointa[3]={1,2,3,4,5,6};
p=a;A.p[3].xB.p[1].xC.*(p+2)D.p[2].xp287p290,291
4、以下程序段的运行结果是(C)。
intx[]={2,3,4,5,6,7},*p=x;当i=1时;i<5;s=s+p[i++]s=3i=i++;i=2;i=i++;
inti,s=0;i=3;i<5;s=s+p[i++]s=3+5;i=i++;i=4;i=i++;
for(i=1;i<5;i++)s+=p[i++];i=5
printf(\"%d\",s);A.20B.14C.8D.6P230P57
5、C语言的函数体由(A)括起来。
A.{}B.[]C.<>D.()P6
6、若有定义:
intx,y,z;语句x=(y=z=3,++y,z+=y);运行后,x的值为(A)。
A.7B.6C.8D.3P65
7、若有定义:
intx;charc='A';则正确的赋值表达式是(D)。
(说明:
'A'的ASCII码的十进制值为65,'a'的ASCII码的十进制值为97)
A.x='ABC'B.x=c+'ABC'C.x=c+'CBA'D.x=c+32P48,49,50
8、下面叙述错误的是(C)。
P131,132,230
A.C语言规定可逐个引用数组元素但不能一次引用整个数组
B.数组中每一个元素都属于同一个数据类型
C.C语言数组长度在定义数组时可不作确定
D.C语言数组名称是数组在内存中的首地址"
9、以下程序的运行结果是(D)。
intf(intc)
{c+=2;c=4
returnc;
}
main()
{inta=2,c=5;
a=f(a);a=4;c=5;
printf("%d%d\n",a,c);
}A.24B.25C.44D.45P163,184
10、C语言中,二维数组元素在内存中的存放顺序是(C)。
P136
A.由用户自己定义B.按列存放C.按行存放D.随机存放
11、以下程序的运行结果是(A)。
#defineXa+b
main()
{inta=3,b=4,s1;
s1=2*X;s1=2*a+b;
printf("%d\n",s1);
}A.10B.14C.8D.6P208
12、若有定义:
charstr1[10],str2[10]="Fujian";,能将字符串"Fujian"赋给数组str1的正确语句是(A)。
A.strcpy(str1,str2);B.strcpy(str2,str1);C.strcopy(str1,str2);D.str1="Fujian";P147,148
13、若有定义:
inti,x;(C)不是死循环。
A.for(;;i+=2);B.for(i=10;;i--);C.for(x=5;x>0;x--);D.while(x=1);
14、只能向终端输出一个字符的是(
A)。
A.putchar()函数B.scanf()函数C.printf()函数D.getchar()函数P73
15、C语言的基本数据类型包括(C)。
A.整型、字符型、指针型B.整型、实型、逻辑型C.整型、实型、字符型D.整型、实型、空类型P37
16、若有定义:
inta,b=5;语句a=(b/2)+b%2;运行后,a的值为(B)。
A.4B.3C.2D.0P55,56
17、x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为(C)。
A.!
(x>-20)&&!
(x<-5)B.-5 18、以下程序的运行结果是(C)。 voidmain() {inta,b=2,c=6; a=3; if(a>6) a=a+b; elseif(a==6) b=a+c; else a=b+c;问题 printf("%d\n",a); }A.5B.6C.8D.9P96 19、若有定义: inta[3][4]={{1,2},{3,4},{5,6,7}};,则a[1][1]的值为(D)。 A.2B.3C.1D.4P137 20、若有定义: structteacher {intnum; charsex; intage; }teacher1; 则下面叙述错误的是(D)。 A.struct是结构类型的关键字B.structteacher是用户定义的结构类型(结构体类型名)C.num、sex、age都是结构变量teacher1的成员D.teacher1是结构类型名(结构体变量名)P282,283 21、(A)是关于C语言数据类型的正确叙述。 A.变量使用前应定义相应的数据类型B.不允许使用空类型问题C.枚举类型不是基本类型D.数组不是构造类型p37 22、(D)为非法的字符串常量。 A."case"B.""C."056"D.'123'P52 23、若有定义: intb=-15;则(B)为正确的赋值表达式。 A.b=*5B.b+=b*3C.*b=6问题D.b+10=-5P63 24、若有定义: inta,b=6;语句a=--b;运行后,a、b的值分别是(D)。 A.65B.56C.66D.55P57 25、若有定义floatx;要从键盘输入数据6.02赋给x,则应选用(C)语句。 A.scanf("%1.2f",&x);B.scanf("%4.2f",&x); C.scanf("%f",&x);D.scanf("%8.2f",&x);P84 26、若有定义: inta=1,b=2,c=3,d=4,t=2,k=2;语句(t=a A.0B.2C.-1D.1P94 27、若有定义: inta=6,b=7,k=0,t=1;语句(k=a A.00B.11C.10D.01P94 28、以下程序段运行时,若从键盘输入5,则运行结果是(D)。 inta,y=10; scanf("%d",&a); if(a>10) y=a+6; printf("%d\n",y+a); A.10B.16C.11D.15 29、以下程序段运行后x的值为(A)。 inti=0,x=2;x=2 ;0++<=5 ;i=1 ;x=4 ;i=2 ;x=6 ;i=3 ;x=8 ;i=4 ;x=10 ;i=5 ;x=12 ;i=6问题 while(i++<=5) {x+=2;} A.14B.12C.8D.10P62,114 30、以下程序段运行后x的值为(D)。 inta[8]={1,2,3,4,5,6,7,8},i,x=0; for(i=0;i<8;i++,i++)i=0 ;x=1 ;i=1 ;i=2 ;x=4 ;i=3 ;i=4 ;x=9 ;i=5 ;i=6 ;x=16 ;i=7 ;i=8 ; x=x+a[i]; A.20B.18C.36D.16P118,131 31、以下程序段运行后s的值是(B)。 inta[3][3]={1,2,3,1,2,3,1,2,3};i=0 ;i<3 ;j=0 ;s=s+a[0][0] ;s=1 inti,j,s=0;j=1 ;s=3 ;j=2 ;s=6 ;i=1 ;j=1 ;s=8 ;j=2 ;s=11 ; for(i=0;i<3;i++)i=2 ;j=2 ;s=14 ; for(j=i;j<3;j++) s+=a[i][j]; A.15B.14C.13D.12P135 32、以下程序的运行结果是(B)。 inta=2,b=3;问题 intmin(inta,intb) {intc; c=a a: b; return(c);} main() {inta=4; printf("%d",min(a,b));} A.4B.3C.2D.2,3P187 33、若有定义: #definePI3,则表达式PI*2*2的值为(B)。 A.322B.12C.4D.不确定P204 34、以下程序段运行后*(p+1)的值为(B)。 chara[]="good"; char*p; p=a; A.a[1]的地址B.'o'C.不确定D.'g'P230 35、以下程序段运行后x的值为(D)。 inta[]={1,2,3,4,5,6,7,8};i=0;x=x*[*p+0];x=2; inti,x,*p;i=1;x=x*[*p+1];x=6; x=1;i=2;x=24;i=3 p=&a[1]; for(i=0;i<3;i++) x*=*(p+i); A.6B.1C.120D.24P230 36、以下程序段的运行结果是(D)。 union {intnum1; intnum2;}s; s.num1=20; s.num2=30; printf("%d",s.num1); A.20B.2030C.50D.30P308 37、下面程序运行后,屏幕显示Fileopenerror! ,则可能的原因是(D)。 P333问题 #include main() {FILE*fp; charstr[256]; fp=fopen("test.txt","rt"); if(fp==NULL) {printf("Fileopenerror! "); return;} fscanf(fp,"%s",str); fclose(fp);} A.当前工作目录下的test.txt文件是空文件B.函数fopen()的参数是错误的 C.test.txt文件已经打开D.当前工作目录下没有test.txt文件 38、(A)为正确的用户标识符。 A.max_atB.3_rowC.unionD.min-5P39 39、若有定义: intx,a,b;语句x=(a=2,b=3,a+b);运行后,x、a、b的值依次为(B)。 A.235B.523C.532D.325P65 40、下面叙述正确的是(B)。 A.模运算符"%"两边运算数的数据类型是任意的(整型数据)B.C语言中整型与字符型变量的混合运算表达式的结果是整型C.(3+9)++是正确表达式D."abc"+"xxx"是正确表达式P55- 41、若有定义inta=8,b=5;要实现输出形式为: 8*5=40,正确的printf()函数调用语句(D)。 A问题 A.printf("a*b=%d\n",a*b);B.printf("%d*%d=a*b\n",a,b); C.printf("a*b=a*b\n");D.printf("%d*%d=%d\n",a,b,a*b);P75 42、下列运算符中优先级最低的是(A)。 A.=B.! C.>D.*P365 43、以下程序段的运行结果是(D)。 D问题 ints=15; switch(s/4) {default: printf("Over"); case1: printf("One"); break; case2: printf("Two");} A.OneB.TwoC.OverTwoD.OverOneP56,105 44、下面叙述正确的是(A)。 A.for循环的循环体可包含多条语句,但必须用花括号{}括起来 B.for循环只能用于循环次数已经确定的情况 C.在for循环中,不能用break语句跳出循环体 D.for循环是先执行循环体语句,后判断表达式P118 45、若有定义: intarr[15],n=5;无法正确引用arr数组元素的是(D)。 A.arr[15-n]B.arr[0]C.arr[n]D.arr[10+n]P131,132 46、以下程序段的运行结果是(D)。 问题 charstr[3][2]={'a','b','c','\0','e','f'}; printf("%s",str[0]); A.abcefB.aC.abc\\0efD.abcP136,138 47、以下程序段运行后*(p++)的值为(C)。 chara[5]="work"; char*p; p=a; A.a[0]的地址B.'o'C.'w'D.a[1]的地址 48、若有定义: structdata {chara;1字节 floatb[3];12字节 longc;4字节 }d1; 则变量d1的长度是(D)。 A.12B.4C.15D.17P282 49、若有定义: inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,则(C)表达式是错误的。 问题 A.p++B.a[2]C.a++D.p[2]P230 50、若由定义: 问题 typedefintNUM[100]; NUMn; 则(C)语句是正确的。 A.NUM=n;B.n=2;C.n[0]=2;D.NUM=2;P316 51、下面程序运行后,屏幕显示writeok! ,则下面叙述正确的是(C)。 P332问题 main() {FILE*fp; fp=fopen("data.txt","wt"); if(fp! =NULL) {fprintf(fp,"%s\n","Filewritesuccessed! \n"); fclose(fp); printf("writeok! \n"); }} A.当前工作目录下找不到data.txt文件 B.当前工作目录下存在data.txt文件,其中的内容是“writeok! ” C.当前工作目录的data.txt文件已经关闭 D.当前工作目录的data.txt文件已经打开" 52、(C)为正确的变量名。 问题 A.caseB.elseC.pro_5D.5_pro 53、若有定义: floatx=2,y;inta=3;语句y=1*(x+a)/3;运行后,y的值为(C)。 问题 A.1.0B.0C.1.666667D.2.0P54 54、若有定义: intx,a;赋值语句a=(x%3==0)? 0: 1;与(D)语句不等价。 A.if(! (x%3==0))a=1;elsea=0;B.if(x%3! =0)a=1;elsea=0; C.if(x%3==0)a=0;elsea=1;D.if(x%3)a=0;elsea=1;" 55、以下程序段的运行结果是(A)。 intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; printf("%d\n",t[1][1]); A.5B.3C.1D.4 56.、以下程序段运行后a的值为(B)。 P148 inta=2; a=strcmp("miss","miss"); A.1B.0C.trueD.-1 57、以下程序的运行结果是(B)。 P189 fun() {staticinta=0; a++; printf("%d",a);i=1;i<=2;a=1 }i=2;a=2; main() {inti; for(i=1;i<=2;i++) fun();} A.11B.12C.01D.00 58、若有定义: int*p1,*p2;,则不能用于指针变量p1、p2之间的运算符是(D)。 P276,277 A.==B.=C.-D.+ 59、以下程序段的运行结果是(B)。 intx[3]={1,2,3}; int*p; p=x; for(p++;p<&x[2];p++)p[1];p=2;p[2] printf("%d",*p); A.3B.2C.23D.12 60、下列(D)对结构类型变量定义是错误的。 P282,283 A.struct {intnum; intage; }teach1,teach2; B.structteacher {intnum; intage; }teach1; C.structteacher {intnum; intage;}; structteacherteach1; D.struct {intnum; intage; }teacher; structteacherteach1; 61、若有定义: charch; intj,k; enumday{sun,mon,tue,wed,thu,fri,sat}; inta[sat]; 则(B)对下列语句是否符合语法规则的判断是正确的。 sun=0;/*语句1*/ j=mon+tue;/*语句2*/ if(a[mon]>0)j++;/*语句3*/ A.语句1、2、3均错误B.语句1错误,语句2和语句3正确 C.语句1、2、3均正确D.语句2正确,语句1和语句3错误" 62、下面叙述正确的是(B)。 A.程序中必需含有自定义函数B.所有语句都必须以分号";"结束 C.main()函数必须位于源程序文件的开头D.每行最多只能写两条语句" 63、若有定义: floatx=3.5,y=3.6;则表达式(B)的值为6。 A.(int)(x+y)B.(int)x+(int)yC.int(x+y)D.x+y 64、以下程序段运行后x的值为(A)。 inti=0,x=0; for(;i<=5;i++,i++)i<=5;x=3;i=1;i=2;x=6;i=3;i=4;x=9;i=5;i=6 {x+=3;} A.9B.15C.6D.12 65、若有定义: inta[3][2];,则表达式&a[2][1]-a的值为(A)。 问题 A.5B.4C.3D.2inta[3][2]12 66、以下程序的运行结果是(D)。 34 intfun(intarray[3][3])56 {intj; for(j=0;j<3;j++)array[1][j]++;j=0;a[1][0]++;a[1][0]=2; printf("\n");}j=1;a[1][1]++;a[1][1]=1; main()j=2;a[1][2]++;a[1][2]=5; {intj,a[3][3]={0,1,2,1,0,4,2,4,5}; fun(a); for(j=0;j<3;j++)printf("%2d",a[1][j]); printf("\n");} A.104B.123C.012D.215 67、下面叙述错误的是(A)。 A.宏定义也是C语句,必须在行末加分号问题 B.“#definePRICE30”命令的作用是定义一个与30等价的符号常量PRICE C.C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率 D.“#inclue 68、下面叙述错误的是(D)。 P276问题 A.任何指针变量都可以与空指针NULL进行比较 B.一个指针变量只能指向同一类型的变量 C.一个变量的地址称为该变量的指针 D.可以将一个整数值赋给指针变量 69、以下程序段运行后x的值为(D)。 inta[]={1,2,3},b[]={4,3,3}; int*p,*q; inti,x; p=a;q=b; for(i=0;i<3;i++)i=0;if(*p[0]==*q[0]) if(*(p+i)==*(q+i))i=1;if(*p[1]==*q[1]) x=*(p+i)*2;i=2;if(*p[2]==*q[2]);x=*p[2]*2 A.4B.2C.不确定D.6 70、以下程序的运行结果是(B)。 问题 main() {inta[3]={1,2,3}; int*num[3]; int**p,i; for(i=0;i<3;i++)i=0;*num[0]=1;i=1;num[1]=2;num[2]=3; num[i]=&a[i]; p=num; printf("%d",**p); } A.&a[0]B.1C.3D.numP272 71、(B)不是文件读库函数。 P347问题 A.fgetc()B.fputs()C.fscanf()D.fread() 72、C源程序中main()函数的位置(B)。 P6 A.必须位于程序的最前面B.可以在自定义函数后面 C.必须在自定义函数前面D.必须在系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言