北华大学C语言题库精简打印版全.docx
- 文档编号:28831745
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:67
- 大小:37.92KB
北华大学C语言题库精简打印版全.docx
《北华大学C语言题库精简打印版全.docx》由会员分享,可在线阅读,更多相关《北华大学C语言题库精简打印版全.docx(67页珍藏版)》请在冰豆网上搜索。
北华大学C语言题库精简打印版全
北华大学C语言题库精简打印版(全)
一、判断题-正确篇
1.字符常量的长度肯定为1.Y
2.在调用函数时,实参把值传送给对应位置上的形参,形参的值不能传给实参.Y
3.在程序中凡是以#号开始的语句行都是预处理命令行Y
4.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量.Y
5.在程序中,APH和aph是两个不同的变量.Y
6.在TurboC中,int型数据在存中占2个字节.Y
7.在C语言中8.9e1.2是不正确的实型常量.Y
8.在C语言中,变量必需先定义后使用.Y
9.在C语言中,5种基本数据类型的存储空间长度的排列顺序为:
char 10.在C语言的函数中,可以有也可以没有形参Y 11.在C语言程序中,函数的定义不可以嵌套,但函数的调用可以嵌套Y 12.在C语言程序设计中,"/*"和"*/"之间的容是C语言的注释Y 13.在C程序中,逗号运算符的优先级最低.Y 14.在C程序中,j++;是一条赋值语句.Y 15.在C语言中,此定义和语句是合法的: enumaa{a=5,b,c}bb;bb=(enumaa)5;Y 16.用fopen("file","r+");打开的文件"file"可以进行修改.Y 17.一个字符变量只能存储一个字符.Y 18.一个指针变量只能指向同一类型变量.Y 19.一个C程序必须由一个或一个以上的函数组成.Y 20.也可用其它编辑软件创建ASCII数据文件用在C程序中.Y 21.位段定义中允许长度为零的无名字段.Y 22.同一数组的元素在存中存储是连续存放的,占有连续的存储单元.Y 23.数组说明inta[3][3]={1,2,3,4,5};是正确的.Y 24.数-32100可以赋值给int型和longint型变量.Y 25.设x、t均为int型变量,则执行语句"x=10;t=x&&x<=10;"后,t的值为1.Y 26.三种循环(while语句for语句do-while语句)都可以用来处理同一个问题,一般它们可以相互代替.Y 27.若有定义和语句: inta;charc;floatf;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入: 10,A,12.5则a=10,c='A',f=12.5.Y 28.若有inta[3][4];*(a+1)+2表示a[1][2]元素的地址.Y 29.若通过键盘输入: 10,A,12.5则a=10,c='A',f=12.5.Y 30.若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变.Y 31.如果想使一个数组中全部元素的值为0,可以写成inta[10]={0*10};Y 32.枚举类型的数据不能从键盘上直接输入、输出.Y 33.结构体类型的定义允许嵌套.Y 34.将整数以二进制形式存盘比以ASCII形式存盘省空间、运算快.Y 35.将一维双精度实数数组x的下标为i的变量的地址赋给指针变量p的语句为: double*p,x[10];inti=5;p=&x[i];Y 36.将数组a的首地址赋给指针变量p的语句是p=a;Y 37.共用体类型变量不能被初始化.Y 38.共同体变量所占的存长度等于最长的成员的长度.Y 39.对指针变量的初始化inta,*pa=&a,*pc=0;是正确的.Y 40.对文件进行读写操作,必须先打开,可调用函数fopen().Y 41.对枚举类型名的定义enuma{sum=9,mon=-1,tue};是正确的.Y 42.对结构体类型的变量的成员可以象普通变量一样参与各种运算.Y 43.动态存储分配,可调用函数malloc(),如int*p;p=(int*)malloc(sizeof(p));Y 44.当定义一个结构体变量时,系统分配给它的存是各成员所需存量的总和.Y 45.当调用函数时,实参是一个数组名,则向函数传送的是数组的首地址.Y 46.不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以文件的形式存在磁盘上.Y 47.x*=y+8等价于x=x*(y+8).Y 48.while和for循环都是先判断表达式的值,后执行循环体语句.Y 49.typedeflongintBIGGY;的作用是给长整型起了一个别名BIGGY.Y 50.staticchara[]="Thisisaprogram.";printf("%s",a);是正确的.Y 51.rewind(fp);可使fp所指文件的位置返回到文件的开头.Y 52.r_1_2是C语言合法的用户定义标识符.Y 53.intn;scanf("%d",&n);inta[n];是不合法的.Y 54.inti=3,j=5;if(i>j);是正确的.Y 55.inti,*p=&i;是正确的C说明.Y 56.inta[3][4]={{1},{5},{9}};它的作用是将数组各行第一列的元素赋初值,其余元素值为0.Y 57.int*p[6];定义了6个下标变量的整型指针.Y 58.fseek()函数一般用于二进制文件.Y 59.for(i=4;i>1;i--)for(j=1;j 60.do-while循环是先执行循环体语句,后判断表达式的值.Y 61.C语言中,文件由字符(字节)序列组成.Y 62.C语言规定,函数返回值的类型是由在定义该函数时所指定的函数类型所决定的.Y 63.C语言程序中,当调用函数时实参和形参各占一个独立的存储单元Y 64.charc;c=getchar();该程序段的功能是将用户从键盘输入的字符赋给变量c.Y 65.char*s1="hello",*s2;s2=s1;是正确的.Y 66.char(*p)[6];若p值为1000,则p++;后p值为1006.Y 67.a=(b=4)+(c=6)是一个合法的赋值表达式.Y 68.0x173是"正确"的十六进制常数.Y 69.#define和printf都不是C语句.Y 判断题-错误篇 70.执行表达式(int)i后,i的类型一定变为整型.N 71.在一个C程序中,main函数必须出现在所有函数之前.N 72.在C语言中,为句构成的循环,while后一对圆括号中表达式的值应该是1.N 73.在C语言中,调用函数必须在一条独立的语句中完成.N 74.在C程序中,每行中只能写一条语句.N 75.在C程序中,赋值运算符的优先级最低.N 76.语句printf("%f%%",1.0/3);输出为0.333333.N 77.与if(E)语句中的(E)等价的表达式是(E==0).N 78.用户定义的函数也可调用main函数.N 79.以下各数均不是合法的八进制数: 256、03A2、-0127.N 80.已知ch是字符型变量,则ch="\";是正确的赋值语句.N 81.一个变量可以同时被定义为多种类型.N 82.一个include命令可以指定多个被包含的文件.N 83.数组说明inta[3][3]={1,2,3,4,5,6,7};是正确的.N 84.数组定义inta[10];占存10个字节.N 85.数组定义inta(10);是正确的.N 86.若有宏定义: #defineS(a,b)t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的.N 87.若i=3,则printf("%d",-i++);输出的值为-4.N 88.若a是实型变量,在执行了a=5;后,a将变为整型变量.N 89.若a和b的类型相同,在执行了a=b;后,b中的值将丢失.N 90.任何结构体类型的变量都可以互相赋值.N 91.枚举类型的数据与字符串在使用上相同.N 92.结构体类型只有一种.N 93.将函数fun的入口地址赋给指针变量p的语句是p=fun();N 94.函数的定义和函数的调用均可以嵌套.N 95.函数strlen("ASDFG\n")的值是7.N 96.定义结构体的保留字是struc.N 97.调用scanf()函数进行字符数组输入时,空格和换行符都可以作为字符串的一部分而能读入.N 98.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值.N 99.程序中的变量代表存中的一个存储单元,它的值不可以随时修改.N 100.参加位运算的数据可以是任何类型的数据.N 101.staticcharstr[]="China";没有定义数组元素个数.N 102.sqrt(m)是求m平方的函数.N 103.inta[]={3.1,5.8,6.7,-3.6},i;for(i=0;i<4;i++)printf("%d",a[i]);能输出数组元素a[2]的值.N 104.intk=8567;printf("|%-6d|\n",k);的输出为|008567|.N 105.inti=3,j=5;if(i>j);j++;elsei++;是正确的.N 106.inta[2][3];按照它在存的排列次序,a数组的所有元素是a[0][0]、a[1][0]、a[0][1]、a[1][1]、a[0][2]、a[1][2].N 107.inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则p+5相当于a[5].N 108.if语句后面的控制表达式只能使用关系表达式或逻辑表达式.N 109.if(strcmp(temp,str)>0)中的条件是当字符串temp大于字符串str为真时.N 110.if(j=0)i++;elsei--;i的值为11.N 111.for(m=22;m<1000;m++)if(m%3==0&&m%7! =0)break;是当m能被3整除或m不能被7整除时,结束本次循环进入下次循环.N 112.for(i=0,k=-1;k=1;k++,i++)printf("*\n");循环体一次也不执行.N 113.C语言中字符型、整型、实型都能用八进制表示.N 114.C语言中的文件类型只有文本文件一种.N 115.C语言中的文件类型只有二进制文件一种.N 116.C语言的if语句嵌套时,if与else的匹配关系是每个else与if的匹配是任意的.N 117.C程序中有调用关系的所有函数必须放在同一个源程序文件中.N 118.continue语句不只用于循环语句中.N 119.chara[10]="abcdefg";printf("%6s\n",a);只输出前六个字符.N 120.char*s;*s='H';是正确的.N 121.#include"stdio.h"是每个程序中必须写的.N 二、选择题A篇 1.以下数据中,不正确的数值或字符常量是(A). (A).c (B).66 (C).0xaa (D).50 2.设j和k都是int类型,则for循环语句: for(j=0,k=0;j<=9&&k! =876;j++) scanf("%d",&k);(A) (A).最多执行10次 (B).最多执行9次 (C).是无限循环 (D).循环体一次也不执行 3.chara1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是(A). (A).strcat(a2,a1); (B).strcpy(a2,a1); (C).strcat(a1,a2); (D).strcpy(a1,a2); 4.以下正确的说法是: 在C语言中(A). (A).实参和与其对应的形参各占用独立的存储单元 (B).实参和与其对应的形参共占用一个存储单元 (C).只有当实参和与其对应的形参同名时才共占用存储单元 (D).形参是虚拟的,不占用存储单元 5.下列字符序列中,是C语言保留字的是(A). (A).sizeof (B).include (C).scanf (D).sqrt 6.以下选项中,与k=n++完全等价的表达式是(A). (A).k=n,n=n+1 (B).n=n+1,k=n (C).k=++n (D).k+=n+1 7.在位运算中,操作数每左移一位,其结果相当于(A). (A).操作数乘以2 (B).操作数除以2 (C).操作数除以4 (D).操作数乘以4 8.以下程序的运行结果是(A). main() {intn; for(n=1;n<=10;n++) { if(n%3==0)continue; printf("%d",n); } } (A).12457810 (B).369 (C).12 (D).1234567890 9.inta=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为(A). (A).1 (B).2 (C).3 (D).不一定 10.下列定义数组的语句中正确的是(A). (A).#definesize10charstr1[size],str2[size+2]; (B).charstr[]; (C).intnum['10']; (D).intn=5;inta[n][n+2]; 11.C语言中运算对象必须是整型的运算符是(A). (A).%= (B)./ (C).= (D).〈= 12.C语言中while和do-while循环的主要区别是(A). (A).do-while的循环体至少无条件执行一次 (B).while的循环控制条件比do-while的循环控制条件更严格 (C).do-while允许从外部转到循环体 (D).do-while的循环体不能是复合语句 13.16.在C语言中,形参的缺省存储类别是(A). (A).auto (B).register (C).static (D).extern 14.从键盘上输入某字符串时,不可使用的函数是(A). (A).getchar() (B).gets() (C).scanf() (D).fread() 15.以下数据中,不正确的数值或字符常量是(A). (A).8.9e1.2 (B).10 (C).0xff00 (D).82.5 16.以下不是无限循环的语句为(A). (A).for(y=0,x=1;x>++y;x=i++)i=x; (B).for(;;x++=i); (C).while (1){x++;} (D).for(i=10;;i--)sum+=i; 17.while(fabs(t)<1e-5)if(! s/10)break;循环结束的条件是(A). (A).t>=1e-5&&t<=-1e-5 (B).fabs(t)<1e-5&&! s/10 (C).fabs(t)<1e-5 (D).s/10==0 18.以下叙述中正确的是(A). (A).构成C程序的基本单位是函数 (B).可以在一个函数中定义另一个函数 (C).main()函数必须放在其它函数之前 (D).所有被调用的函数一定要在调用之前进行定义 19.函数rewind的作用是(A). (A).使位置指针重新返回文件的开头 (B).将位置指针指向文件中所要求的特定位置 (C).使位置指针指向文件的末尾 (D).使位置指针自动移至下一个字符位置 20.C语言程序中,当调用函数时(A). (A).实参和虚参各占一个独立的存储单元 (B).实参和虚参可以共用存储单元 (C).可以由用户指定是否共用存储单元 (D).计算机系统自动确定是否共用存储单元 21.当定义一个结构体变量时,系统分配给它的存是(A). (A).各成员所需存量的总和 (B).结构中第一个成员所需存量 (C).结构中最后一个成员所需存量 (D).成员中占存量最大者所需的容量 22.下列变量定义中合法的是(A). (A).short_a=1-.1e-1; (B).doubleb=1+5e2.5; (C).longdo=0xfdaL; (D).float2_and=1-e-3; 23.若有说明语句: charc='\72';则变量c(A). (A).包含1个字符 (B).包含2个字符 (C).包含3个字符 (D).说明不合法,c的值不确定 24.结构体类型的定义允许嵌套是指(A). (A).成员是已经或正在定义的结构体型 (B).成员可以重名 (C).结构体型可以派生 (D).定义多个结构体型 25.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(A). (A).c='a'; (B).c="a"; (C).c="97"; (D).C='97' 26.下列数组说明中,正确的是(A). (A).staticcharstr[]="China"; (B).staticcharstr[];str="China"; (C).staticcharstr1[5],str2[]={"China"};str1=str2; (D).staticcharstr1[],str2[];str2={"China"};strcpy(str1,str2); 27.若有int*p=(int*)malloc(sizeof(int));则向存申请到存空间存入整数123的语句为(A). (A).scanf("%d",p); (B).scanf("%d",&p); (C).scanf("%d",*p); (D).scanf("%d",**p); 28.以下叙述中正确的是(A). (A).C程序中注释部分可以出现在程序中任意合适的地方 (B).花括号"{"和"}"只能作为函数体的定界符 (C).构成C程序的基本单位是函数,所有函数名都可以由用户命名 (D).分号是C语句之间的分隔符,不是语句的一部分 29.执行下面程序后,输出结果是(A). main() {inta=45,b=27,c=0; c=max(a,b); printf("%d\n",c); } intmax(intx,inty) {intz; if(x>y)z=x; elsez=y; return(z); } (A).45 (B).27 (C).18 (D).72 30.设有以下语句,若0 charstr[4][2]={"aaa","bbb","ccc","ddd"},*strp[4]; intj; for(j=0;j<4;j++) strp[j]=str[j]; (A).strp (B).str[k] (C).strp[k] (D).*strp 31.9以下语句中,循环次数不为10次的语句是(A). (A).for(i=1;i<10;i++); (B).i=1;do{i++;}while(i<=10); (C).i=10;while(i>0){--i;} (D).i=1;m: if(i<=10){i++;gotom;} 32.14以下不能正确进行字符串赋初值的语句是(A). (A).charstr[5]="good! "; (B).charstr[]="good! "; (C).char*str="good! "; (D).charstr[5]={'g','o','o','d'}; 33.18若有double*p,x[10];inti=5;使指针变量p指向元素x[5]的语句为(A). (A).p=&x[i]; (B).p=x; (C).p=x[i]; (D).p=&(x+i) 34.C语言的if语句嵌套时,if与else的配对关系是(A). (A).每个else总是与它上面的最近的并且尚未与其他else匹配的if配对 (B).每个else总是与最外层的if配对 (C).每个else与if的配对是任意的 (D).每个else总是与它上面的if配对 35.16以下正确的函数定义形式是(A). (A).doublefun(intx,inty) (B).doublefun(intx;inty) (C).doublefun(intx,inty); (D).doublefun(intx,y); 36.18经过下列的语句intj,a[10],*p;定义后,下列语句中合法的是(A) (A).p=a+2; (B).p=a[5]; (C).p=a[2]+2; (D).p=&(j+2); 37.17enuma{sum=9,mon=-1,tue};2chara[]="Thisisaprogram.";输出前5个字符的语句是(A). (A).printf("%.5s",a); (B).puts(a); (C).printf("%s",a); (D).a[5*2]=0;puts(a); 选择题B篇 38.C语言源程序的基本单位是(B). (A).过程 (B).函数 (C).子程序 (D).标识符 39.下列程序的输出结果是(B). main() {charc1=97,c2=98; printf("%d%c",c1,c2); } (A).9798 (B).97b (C).a98 (D).ab 40.下列四个选项中,均是C语言关键字的选项是(B). (A).autoenuminclude (B).switchtypedefcontinue (C).signedunionscanf (D).ifstructtype 41.以下能对二维数组a进行正确初始化的语句是(B). (A).inta[2][]={{1,0,1},{5,2,3}}; (B).inta[][3]={{1,2,3},{4,5,6}}; (C).inta[2][4]={{1,2,3},{4,5},{6}}; (D).inta[][3]={{1,0,1}{},{1,1}}; 42.以下对枚举类型名的定义中正确的是(B). (A).enuma={sun,mon,tue}; (B).enuma{sun=9,mon=-1,tue}; (C).enuma={"sun","mon","tue"}; (D).enuma{"sun","mon","tue"}; 43.以下选项中合法的用户标识符是(B). (A).long (B)._2Test (C).3Dmax (D).A.dat 44.以下叙述中正确的是(B). (A).C语言的源程序不必通过编译就可以直接运行 (B).C语言中的每条可执行语句最终都将被转换成二进制的机器指令 (C).C源程序经编译形成的二进制代码可以直接运行 (D).C语言中的函数不可以单独进行编译 45.以下叙述中不正确的是(B). (A).一个好的程序应该有详尽的注释 (B).在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 语言 题库 精简 打印