C语言题库194道.docx
《C语言题库194道.docx》由会员分享,可在线阅读,更多相关《C语言题库194道.docx(51页珍藏版)》请在冰豆网上搜索。
![C语言题库194道.docx](https://file1.bdocx.com/fileroot1/2023-5/16/ee961476-3ef0-48c4-9743-be59d3d31092/ee961476-3ef0-48c4-9743-be59d3d310921.gif)
C语言题库194道
C语言
1、以下叙述不正确的是()。
——[单选题]
Ac程序中,语句之间必须用分号分隔。
Bc程序中,多行语句可以写在一行上。
Cc程序中,可以不必包含主函数。
D一个c程序,可以由多个函数组成
正确答案:
C
2、c语言规定,在一个源程序中,main函数的位置()——[单选题]
A必须在最开始
B必须在系统调用库函数的后面
C可以任意
D必须在最后
正确答案:
C
3、以下叙述不正确的是()。
——[单选题]
Amain函数必须位于程序的最前面
Bc程序中,每行可以写多条语句
Cc语言本身不提供输入输出语句。
D在对c语言程序进行编译的过程中,不能发现注释中的错误
正确答案:
A
4、一个C程序的执行是从()——[单选题]
A本程序的main函数开始,到main函数结束
B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C本程序文件的第一个函数开始,到本程序main函数结束
D本程序的main函数开始,到本程序文件的最后一个函数结束
正确答案:
A
5、以下叙述不正确的是()——[单选题]
A一个C源程序必须包含一个main函数
B一个C源程序可由一个或多个函数组成
CC程序的基本组成单位是函数
D在C程序中,注释说明只能位于一条语句的后
正确答案:
D
6、以下叙述不正确的是()。
(2分)——[单选题]
A1.若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,且b中的值不变。
B1.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
C1.在C程序中,逗号运算符的优先级最低。
D1.在C程序中,MAX和max是两个不同的变量。
正确答案:
B
7、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句:
c2='A'+'6'-'3';printf("%c",c2);后,屏幕输出内容为()。
(2分)——[单选题]
AD
B68
C1.不确定的值
DC
正确答案:
A
8、以下叙述不正确的是()。
(2分)——[单选题]
A1.若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,且b中的值不变。
B1.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
C1.在C程序中,逗号运算符的优先级最低。
D1.在C程序中,MAX和max是两个不同的变量。
正确答案:
B
9、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句:
c2='A'+'6'-'3';printf("%c",c2);后,屏幕输出内容为()。
(2分)——[单选题]
AD
B68
C1.不确定的值
DC
正确答案:
A
10、sizeof(float)是()。
(2分)——[单选题]
A1.一个双精度型表达式
B1.一个整型表达式
C1.一种函数表达式
D1.一个不合法的表达式
正确答案:
B
11、若变量已正确定义,要将a和b中的值进行交换,下面不正确的语句组是()。
(2分)——[单选题]
A1.a=a+b,b=a-b,a=a-b;
B1.t=a,a=b,b=t;
C1.t=b;b=a;a=t;
D1.a=t;t=b;b=a;
正确答案:
D
12、若有定义:
charch=’\x42’;则变量ch中包含()个字符。
(2分)——[单选题]
A1
B2
C4
D1.定义不合法
正确答案:
A
13、下列选项中可以作为C语言的合法整数的是()。
(2分)——[单选题]
Abf
B1.0x7e3
C03678
D1.1011B
正确答案:
B
14、putchar函数可以向终端输出一个()。
(2分)——[单选题]
A1.整型变量表达式
B1.实型变量值
C1.字符串
D字符
正确答案:
D
15、printf函数中用到格式符%-6s,其中数字6表示输出的字符串占用6列。
如果字符串长度小于6,则输出按方式()。
(2分)——[单选题]
A1.从左起输出该字符串,右补空格
B1.从右起输出该字符串,左补空格
C0
D1.输出错误信息
正确答案:
A
16、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式()。
(2分)——[单选题]
A1.从左起输出该字符串,右补空格
B1.按原字符长从左向右全部输出
C0
D2.输出错误信息
正确答案:
B
17、若变量已定义为float类型,要通过以下赋值语句scanf("%f,%f",&a,&b);给a赋值为11,给b赋值为22,以下正确的输入形式是()。
(2分)——[单选题]
A1.1122
B1.11&22
C1.11:
22
D1.11,22
正确答案:
D
18、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是()。
(2分)——[单选题]
A1.reada,b,c;
B1.getchar(a,b,c);
C1.scanf("%d%d%d",&a,&b,&c);
D1.scanf("%d%d%d",a,b,c);
正确答案:
C
19、以下叙述正确的是()。
(2分)——[单选题]
A1.在C程序中,不允许把一个整数赋值给一个实型变量。
B1.1/2的值为0.5。
C1.在C程序中,%是只能用于整数运算的运算符。
D1.在C程序中,无论是整数还是实数,都能被准确无误地表示。
正确答案:
C
20、设有说明:
charw;intx;floaty;doublez;则表达式wx+z-y值的数据类型为()。
(2分)——[单选题]
Afloat
B1.char
Cint
D1.double
正确答案:
D
21、已知intx=10,y=20,z=31;以下语句:
if(x (2分)——[单选题]
A1.x=10,y=20,z=30
B1.x=20,y=30,z=30
C1.x=20,y=10,z=10
D1.x=20,y=30,z=10
正确答案:
C
22、已知intx=10,y=20,z=32;以下语句:
if(x (2分)——[单选题]
A1.x=10,y=10,z=10
B1.x=20,y=30,z=30
C1.x=20,y=30,z=10
D1.x=20,y=20,z=20
正确答案:
A
23、已知intx=10,y=20,z=33;以下语句:
if(x (2分)——[单选题]
A1.x=10,y=20,z=30
B1.x=10,y=20,z=10
C1.x=20,y=30,z=10
D1.x=20,y=30,z=20
正确答案:
B
24、表示关系1<=x<=100的c语言表达式为()。
(2分)——[单选题]
A1.x>=1&x<=100
B1.x>=1andx<=100
C1.1<=x<=100
D1.x>=1&&x<=100
正确答案:
D
25、在下面的条件语句中(其中S1和S2表示c语言语句),哪一个在功能上与其他3个语句不等价()。
(2分)——[单选题]
A1.if(a!
=0)S1;elseS2;
B1.if(a==0)S1;elseS2;
C1.if(a)S1;elseS2;
D1.if(a==0)S2;elseS1;
正确答案:
B
26、以下不属于算法的特征的是( )。
(2分)——[单选题]
A无穷性
B1.确切性
C1.可行性
D1.输出项
正确答案:
A
27、判断char型变量ch是否为大写字母的正确表达式是()。
(2分)——[单选题]
A1.’A’<=ch<=’Z’
B1.(ch>=’A’)&(ch<=’Z’)
C1.(ch>=‘A’)&&(ch<=‘Z’)
D1.(‘A’<=ch)AND(‘Z’>=ch)
正确答案:
C
28、设有:
inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为()。
(2分)——[单选题]
A1
B2
C3
D4
正确答案:
B
29、若有inta,b,d=241;语句a=d/100%9;b=(-1)&&(-1);执行后a,b的值为()。
(2分)——[单选题]
A6,1
B2,1
C6,0
D2,0
正确答案:
B
30、设有程序段:
intk=10;while(k=0)k=k-1;这下面描述中正确的是()。
(2分)——[单选题]
A1.while循环执行10次
B1.循环是无限循环
C1.循环体语句一次也不执行
D1.循环体语句执行一次
正确答案:
C
31、若i为整型变量,则以下循环for(i=2;i==0;i--)printf("%d",i);执行次数是()。
(2分)——[单选题]
A1.无限次
B0
C1
D2
正确答案:
B
32、执行语句for(i=1;i<4;i++);后变量i的值是()。
(2分)——[单选题]
A3
B5
C4
D不知道
正确答案:
C
33、合法的数组定义语句是( )。
(2分)——[单选题]
A1.inta[]="string";
B1.inta[5]={0,1,2,3,4,5};
C1.chara="string";
D1.chara[]="string";
正确答案:
D
34、有定义语句inta[5],I;,输入数组a的所有元素的语句应为()。
(2分)——[单选题]
A1.scanf("%d%d%d%d%d",a[5]);
B1.scanf("%d",a);
C1.for(i=0;i<5;i++)scanf("%d",&a[i]);
D1.for(i=0;i<5;i++)scanf("%d",a[i]);
正确答案:
C
35、以下能正确定义二维数组的语句是()。
(2分)——[单选题]
A1.inta[][];
B1.inta[][3];
C1.inta[2][];
D1.inta[2][3];
正确答案:
D
36、以下对二维数组a的正确说明是()。
(2分)——[单选题]
A1.inta[3][];
B1.floata(3,4);
C1.doublea[1][4];
D1.floata(3)(4);
正确答案:
C
37、变量的指针,其含义是指该变量的()。
(2分)——[单选题]
A1.值
B地址
C名
D1.一个标志
正确答案:
B
38、若想对文本文件进行只读操作,打开此文件的方式是()。
(2分)——[单选题]
A1."rb"
B1."w"
C1."ab"
D1."r"
正确答案:
D
39、若执行fopen函数时发生错误,则函数的返回值是()。
(2分)——[单选题]
A1.一个随机地址值
B1
CNULL
D1.EOF
正确答案:
C
40、文件操作的一般步骤是()。
(2分)——[单选题]
A1.读/写文件→修改文件→关闭文件
B1.打开文件→读/写文件→关闭文件
C1.读/写文件→打开文件→关闭文件
D1.读文件→写文件→关闭文件
正确答案:
B
41、若fp是指向某文件的指针,且已读到文件末尾,则表达式feof(fp)的返回值是()。
(2分)——[单选题]
A1.EOF
B-1
C1.非零值
D1.NULL
正确答案:
C
42、关于文件指针,以下说法错误的是()。
(2分)——[单选题]
A1.只有通过文件指针变量才能调用相应文件。
B1.定义文件指针变量时,FILE必须大写。
C1.一个文件指针变量只能对应一个文件。
D1.一个文件指针变量可以同时对应多个文件。
正确答案:
D
43、在C99标准中,以下为一维整型数组a的错误说明是()。
(2分)——[单选题]
A1.inta(10);
B1.intn=10,a[n];
C1.intn;scanf("%d",&n);inta[n];
D1.#defineSIZE10 inta[SIZE];
正确答案:
A
44、若二维数组a有m列,则在a[i][j]前的元素个数为()。
(2分)——[单选题]
A1.j*m+i
B1.i*m+j
C1.i*m+j-1
D1.i*m+j+1
正确答案:
B
45、若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。
(2分)——[单选题]
A1.a,point,*&a
B1.&*a,&a,*point
C1.*&point,*point,&a
D1.&a,&*point,point
正确答案:
D
46、若有说明:
int*p,m=5,n;以下正确的程序段的是()。
(2分)——[单选题]
A1.p=&n;scanf("%d",&p);
B1.p=&n;scanf("%d",*p);
C1.scanf("%d",&n);*p=n;
D1.p=&n;*p=m;
正确答案:
D
47、若有以下定义,inta[5],*p=a;则对a数组元素的正确引用是()。
(2分)——[单选题]
A1.*&a[5]
B1.*(a+2)
C1.*(p+5)
D1.a+2
正确答案:
B
48、若有以下定义,inta[10],*p=a;则p+5表示()。
(2分)——[单选题]
A1.元素a[5]的地址
B1.元素a[5]的值
C1.元素a[6]的地址
D1.元素a[6]的值
正确答案:
A
49、以下叙述错误的是()。
(2分)——[单选题]
A1.指针可以进行加、减等算术运算;
B1.指针中存放的是地址值
C1.指针是一个变量
D1.指针变量不占用存储空间
正确答案:
D
50、对于基类型相同的两个指针变量之间,不能进行的运算是()。
(2分)——[单选题]
A<
B"=
C+
D-
正确答案:
C
51、假设整型变量a的值为100,a的地址为2000,若欲使p为指向a的指针变量,则以下复制正确的是()。
(2分)——[单选题]
A1.*p=2000;
B1.*p=12;
C1.p=2000;
D1.p=&a;
正确答案:
D
52、若有说明:
intn=2,p=&n,q=p;则以下非法的赋值为()。
(2分)——[单选题]
A1.p=q;
B1.p=q;
C1.n=*q;
D1.p=n;
正确答案:
D
53、有两个字符数组a、b,则以下正确的输入语句是()。
(2分)——[单选题]
A1.gets(a,b);
B1.scanf("%s%s",*a,*b);
C1.scanf("%s%s",&a,&b);
D1.gets(a);gets(b);
正确答案:
D
54、判断字符串s1是否大于字符串s2,应当使用()。
(2分)——[单选题]
A1.if(s1>s2)
B1.if(strcmp(s1,s2))
C1.if(strcmp(s2,s1)>0)
D1.if(strcmp(s1,s2)>0)
正确答案:
D
55、设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是()。
(2分)——[单选题]
A1.c=*p1;
B1.p2=c
C1.p1=p2
D1.p1+=2
正确答案:
B
56、以下正确的程序段是()。
(2分)——[单选题]
A1.charstr[20];scanf("%s",&str);
B1.char*p;scanf("%s",p);
C1.charstr[20];scanf("%s",&str[2]);
D1.charstr[20],*p=str;scanf("%s",p[2]);
正确答案:
C
57、若有说明语句chara[]="Itismine";char*p="Itismine";则以下不正确的叙述是()。
(2分)——[单选题]
A1.a+1表示的是字符t的地址
B1.p指向另外的字符串时,字符串的长度不受限制
C1.p变量中存放的地址值可以改变
D1.a中只能存放10个字符
正确答案:
D
58、下列选项正确的语句组是()。
(2分)——[单选题]
A1.char*s;s="hello!
";
B1.char*s;s={"hello!
"};
C1.chars[8];s="hello!
";
D1.chars[8];s={"hello"};
正确答案:
A
59、为了判断两个字符串s1和s2是否相等,应当使用下列哪个语句()。
(2分)——[单选题]
A1.if(s1==s2);
B1.if(strcmp(s1,s2)==0);
C1.if(s1=s2);
D1.if(strcpy(s1,s2));
正确答案:
B
60、有如下定义,Chars[80],*p=s;不能给数组s输入字符串的是()。
(2分)——[单选题]
A1.gets(p)
B1.gets(s[0]);
C1.gets(&s[0]));
D1.gets(s);
正确答案:
B
61、有以下定义,Chars[]="012M356",*p=s;不能表示字符M的表达式是()。
(2分)——[单选题]
A1.*(p+3)
B1.s[3]
C1.*(s+3)
D1.*p+3
正确答案:
D
62、有定义语句chararray[]="China";则数组array所占用的空间为()。
(2分)——[单选题]
A1.4个字节
B1.5个字节
C1.6个字节
D1.7个字节
正确答案:
C
63、以下正确的函数声明形式是()。
(2分)——[单选题]
A1.intfun(intx,inty)
B1.intfun(intx;inty)
C1.intfun(intx,y);
D1.intfun(intx,inty);
正确答案:
D
64、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。
(2分)——[单选题]
A1.地址传递
B1.由用户指定传递方式
C1.双向值传递
D1.单向值传递:
实参的值传给形参
正确答案:
D
65、以下程序有语法性错误,intmain(void){intN=3,k;voidfun1();//函数声明…k=fun1(N);//函数调用...}。
有关错误原因的正确说法是()。
(2分)——[单选题]
A1.语句voidfun1();有错,它是函数调用语句,不能用void说明。
B函数说明和函数调用语句之间有矛盾
C1.函数声明语句不应该放在这里。
D1.变量名不能使用大写字母
正确答案:
B
66、C语言在C89标准中允许函数定义时缺省函数类型,此时隐含的函数的类型是()。
(2分)——[单选题]
A1.long
B1.float
Cint
D1.double
正确答案:
C
67、在C语言中以下正确的叙述是()。
(2分)——[单选题]
A1.函数的定义和函数的调用均可以嵌套。
B1.函数的定义和函数的调用均不可以嵌套。
C1.函数的定义可以嵌套,但函数的调用不可以嵌套。
D1.函数的定义不可以嵌套,但函数的调用可以嵌套。
正确答案:
D
68、若有数组名作为函数调用的实参,传递给形参的是()。
(2分)——[单选题]
A1.数组的首地址
B1.数组第一个元素的值
C1.数组中全部元素的值
D1.数组元素的个数
正确答案:
A
69、如果在一个函数中的复合语句中定义了一个变量,则该变量()。
(2分)——[单选题]
A1.在该函数中有效
B1.只在该复合语句中有效
C1.在该程序范围内均有效
D1.为非法变量
正确答案:
B
70、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。
(2分)——[单选题]
A1.静态(static)
B1.自动(auto)
C1.外部(extern)
D1.寄存器(register)
正确答案:
B
71、以下说法正确的是()。
(2分)——[单选题]
A1.实参类型不必同形参类型一致。
B1.实参可以是常量、变量和表达式。
C形参可以是常量、变量和表达式
D实参顺序与形参顺序无关。
正确答案:
B
72、有关C语言的主函数描述正确的是()。
(2分)——[单选题]
A1.C程序可以有多个main函数
B1.C程序可以没有main函数
C1.C程序有且只有一个main函数
D1.C程序不一定从main函数开始执行
正确答案:
C
73、以下正确的描述是()。
——[单选题]
A1.如果形参和实参的类型不一致,应以实参类型为准。
B1.定