C语言题1.C语言源程序名的后缀是
A) .exe
B) .C
C) .obj
D) .cp
答案:B
2.下列叙述中错误的是
A) 一个C语言程序只能实现一种算法
B) C程序可以由多个程序文件组成
C) C程序可以由一个或多个函数组成
D) 一个C函数可以单独作为一个C程序文件存在
答案:A
3.下列选项中不符合良好程序设计风格的是
A) 源程序要文档化
B) 数据说明的次序要规范化
C) 避免滥用goto语句
D) 模块设计要保证高耦合、高内聚
答案:D
4.C语言程序的基本单位是:
A) ...
1.C语言源程序名的后缀是
A) .exe
B) .C
C) .obj
D) .cp
答案:B
2.下列叙述中错误的是
A) 一个C语言程序只能实现一种算法
B) C程序可以由多个程序文件组成
C) C程序可以由一个或多个函数组成
D) 一个C函数可以单独作为一个C程序文件存在
答案:A
3.下列选项中不符合良好程序
风格的是
A) 源程序要文档化
B) 数据说明的次序要规范化
C) 避免滥用goto语句
D) 模块设计要保证高耦合、高内聚
答案:D
4.C语言程序的基本单位是:
A) 语句
B) 程序行
C) 函数
D) 字符
答案:C
5.下列叙述中正确的是
A) C语言编译时不检查语法
B) C语言的子程序有过程和函数两种
C) C语言的函数可以嵌套定义
D) C语言所有函数都是外部函数
答案:D
6.下列叙述中正确的是
A) 每个C程序文件中都必须要有一个main()函数
B) 在C程序中main()函数的位置是固定的
C) C程序中所有函数之间都可以相互调用,与函数所在位置无关
D) 在C程序的函数中不能定义另一个函数
答案:D
7.对下述程序,( )是正确的判断。
程序5-7:P5-7.C
#include
main()
{
int x,y;
scanf("%d,%d",&x,&y);
if(x>y)
x=y;
y=x;
else
x++;
y++;
printf("%d,%d",&x,&y);
}
A) 有语法错误,不能通过编译
B) 若输入数据3和4,则输出4和5
C) 若输入数据4和3,则输出3和4
D) 若输入数据4和3,则输出4和4
答案:A
8.下列选项中,合法的C语言关键字是
A) VAR
B) cher
C) integer
D) default
答案:D
9.下列选项中不属于算法的特性的是( )。
A) 确定性
B) 可行性
C) 有输出
D) 无穷性
答案:D
10.下面描述中,符合结构化程序设计风格的是
A) 使用顺序、选择和重复(循环)三种基本控制结构示程序的控制逻辑
B) 模块只有一个入口,可以有多个出口
C) 注重提高程序的执行效率
D) 不使用goto语句
答案:A
11.下选项中不是C语句的是( )。
A) {int I; I++; printf(“%d\n”,I);}
B) ;
C) a=5,c=10
D) { ; }
答案:C
12.以下4个选项中,不能看作一条语句的是
A) {;}
B) a=0,b=0,c=0;
C) if(a>0);
D) if(b==0) m=1;n=2;(两条)
答案:D
13.对下述程序执行结果的判断中,正确的是( )。
#include
void main()
{
int x;
for(x=1;x<=100;x++)
if(++x%2==0)
if(++x%3==0)
if(++x%5==0)
printf("%d,",x);
}
A) 输出31,61,91
B) 输出30,60,90
C) 不输出任何
D) 输出29,59,89
答案:C
14.对于一个正常运行的C程序,以下叙述中正确的是
A) 程序的执行总是从main函数开始,在main函数结束
B) 程序的执行总是从程序的第一个函数开始,在main函数结束
C) 程序的执行总是从main函数开始,在程序的最后一个函数中结束
D) 程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束
答案:A
15.以下说法中正确的是( )。
A) C语言程序总是从第一个的函数开始执行
B) 在C语言程序中,要调用的函数必须在main()函数中定义
C) C语言程序总是从main()函数开始执行
D) C语言程序中的main()函数必须放在程序的开始部分
答案:C
16.C语言中,用户能使用的合法标志符是( 这是为啥呢? )。
A) a,b
void
a123
B) -xyz
define
s(x)
C) fa2
sort_a
string
D) 5i
x.I
mal0loc
答案:C
17.按照C语言规定的用户符命名规则,不能出现在标识符中的是
A) 大写字母
B) 连接符
C) 数字字符
D) 下划线
答案:B
18.编制一个好的程序,首先要保证它的正确性和可靠性,还应强调良好的编程风格,在选择标识符的名字时应考虑( )。
A) 名字长度越短越好,以减少源程序的输入量
B) 多个变量共用一个名字,以减少变量名的数目
C) 选择含义明确的名字,以正确提示所代表的实体
D) 尽量用关键字作名字,以使名字标准化
答案:C
19.ASCLL码(含扩展)可以用一个字节表示,则可以表示的ASCLL码值个数为
A) 1024
B) 256
C) 128
D) 80
答案:B
20.C语言提供的合法的数据类型关键字是( )
A) Double
B) short
C) integer
D) Char
答案:B
21.C语言中最简单的数据类型包括____
A) 整型、实型、逻辑型
B) 整型、实型、字符型
C) 整型、字符型、逻辑型
D) 整型、实型、逻辑型、字符型
答案:B
22.以下选项中,合法的一组C语言数值常量是
A) 028
.5e-3
-0xf
B) 12.
0Xa23
4.5e0
C) .177
4e1.5
0abc
D) 0x8A
10,000
3.e5
答案:B
23.若x,a,b和c均是int型变量,则执行表达式x=(a=1,b=2)后x的结果为( )。
A) 1
B) 2
C) 3
D) 不确定
答案:B
24.若有以下程序段
int m=0xabc,n=0xabc;
m-=n;
printf("%X\n",m);
执行后输出结果是( )
A) 0X0
B) 0x0
C) 0
D) 0XABC
答案:C
25.以下能正确定义整型变量a,b和c并为其赋初值1的语句是( )。
A) int a=b=c=1;
B) int a,b,c=1;
C) a=b=c=1;
D) int a=1,b=1,c=1;
答案:D
26.变量a已被定义为整型,下列表达式不正确的是
A) a='A'+20
B) a-='a'
C) a=c+d
D) a='c'+'d'
答案:C
27.请读程序
int i =65536;
printf("%d\n",i);
上面程序在TC中的输出结果是( )
A) 65535
B) 0
C) 有语法错误,无输出结果
D) 1
答案:B
28.若有以下程序段(n所赋的是八进制数)
int m=32767,n=032767;
printf("%d,%o\n",m,n);
执行后输出结果是( )
A) 32767,32767
B) 32767,032767
C) 32767,77777
D) 32767,077777
答案:A
29.设在TC中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为:
A) 0-255
B) 1-32767
C) 0-65535
D) 0-2147483647
答案:C
30.以下关于long、int和short类型数据占用内存大小的叙述中正确的是
A) 均占4个字节
B) 根据数据的大小来决定所占内存的字节数
C) 由用户自己定义
D) 由C语言编译系统决定
答案:D
31.有以下程序
main()
{
unsigned int a;
int b=-1;
a=b;
printf("%u",a);
}
程序运行后的输出结果是
A) -1
B) 65535
C) 32767
D) -32768
答案:B
32.下面四个选项中,均是合法浮点数的选项是:
A) +1e+1 5e-9.4 03e2
B) -.60 12e-4 -8e5
C) 123e 1.2e-.4 +2e-.4
D) -e3 .8e-4 5.e-0
答案:B
33.以下符合C语言语法的实型常量是
A) 1.2E0.5
B) 3.14159E
C) 5E-3
D) E15
答案:C
34.以下所列的C语言常量中,错误的是
A) 0xFF
B) 1.2e0.5
C) 2L
D) '\72'
答案:B
35.假定x和y为double型,则表达式x=2,y=x+3/2的值是
A) 3.500000
B) 3
C) 2.000000
D) 3.000000
答案:D
36.设变量x为f1oat型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是
A) x=x*100+0.5/100.0;
B) x=(x*100+0.5)/100.0;
C) x=(int)(x*100+0.5)/100.0;
D) x=(x/100+0.5)*100.0;
答案:C
37.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子 的C语言表达式是
A) x/y*z
B) x*(1/(y*z))
C) x/y*1/z
D) x/y/z
答案:A
38.已有定义:char c; ,程序前面已在命令行中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是
A) isupper(c)
B) 'A'<=c<='Z'
C) 'A'<=c&& c <='Z'
D) c <=('z'-32)&&('a'-32)<= c
答案:B
39.已有定义:char a[]="xyz", b[]={'x', 'y', 'z'}; ,以下叙述中正确的是
A) 数组a和b的长度相同
B) a数组长度小于b数组长度
C) a数组长度大于b数组长度
D) 以述说法都不对
答案:C
40.以下关于字符串的叙述中正确的是
A) C语言中有字符串类型的常量和变量
B) 两个字符串中的字符个数相同时才能进行字符串大小的比较
C) 可以用关系运算符对字符串的大小进行比较
D) 空串一定比空格打头的字符串小
答案:D
41.下面不正确的字符常量为( )。
A) "n"
B) '\\'
C) 'L'
D) ' '
答案:A
42.下面不正确的字符串常量是:
A) 'abc'
B) "1212"
C) "0"
D) " "
答案:A
43.已定义c为字符型变量,则下列语句中正确的是
A) c = '97';
B) c = "97";
C) c = 97;
D) c = "a";
答案:C
44. 以下语句的输出结果是( )。
printf("%d\n",strlen("\t\"\065\xff\n));
A) 5
B) 14
C) 8
D) 输出项不合法,无正常输出
答案:A
45.C语言中合法的字符常量是( )
A) '\084'
B) '\X43'
C) 'ab'
D) "\0"
答案:B
46.设有定义语句:char b= '\123';则变量b
A) 包括4个字符
B) 包括3个字符
C) 包括2个字符
D) 包括一个字符
答案:D
47.数字字符0的ASCII值为48,若有以下程序
main()
{
char a='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
程序运行后的输出结果是
A) 3,2
B) 50,2
C) 2,2
D) 2,50
答案:C
48.已定义ch为字符型变量,以下赋值语句中错误的是
A) ch='\';
B) ch=62+3;
C) ch=NULL;
D) ch='\xaa';
答案:A
49.已知字符'A'的ASCII代码值是65,字符变量c1的值是'A',c2的值是'D'。执行语句printf("%d, %d", c1, c2-2 ); 后,输出结果是
A) A,B
B) A,68
C) 65,66
D) 65,68
答案:C
50.对两个静态函数A和B进行如下初始化:
static char A[]="ABCDEF";
static char B[]={'A','B','C','D','E','F'};
则下列叙述正确的是( )。
A) A和B完全相同
B) A和B只是长度相等
C) A和B不相同,A是指针数组
D) A数组长度比B数组长
答案:D
51.若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是( )
A) 7
B) 8
C) 9
D) 10
答案:A
52.下列选项中正确的语句是
A) char s[8];s={"Bei jing"};
B) char *s;s ={"Bei jing"};
C) char s [8];s="Bei jing";
D) char *s;s ="Bei jing";
答案:D
53.C语言中各种基本数据类型的存储空间长度排列为( )。
A) char≤long≤int≤float≤double
B) double≤float≤long≤int≤char
C) char≤int≤long≤float≤double
D) float≤int≤long≤char≤double
答案:C
54.若有以下定义:
char a;int b;
float c;double d;
则表达式a*b+d-c值的类型为( )
A) float
B) int
C) char
D) double
答案:D
55.C语言中,运作对象必须是整型数据的运算符是( )。
A) %
B) \
C) %和\
D) **
答案:A
56.若变量a、i已正确定义,且i已正确赋值,则正确的赋值语句是( )
A) a==1
B) ++i;
C) a=a++=5;
D) a=int(i);
答案:B
57.若变量已正确定义并赋值,下面符合C语言语法的表达式是( )
A) a:=b+1
B) a=b=c+2
C) int 18.5%3
D) a=a+7=c+b
答案:B
58.表达式3.6-5/2+1.2+5%2的值是
A) 4.3
B) 4.8
C) 3.3
D) 3.8
答案:D
59.如果假设
a=2,b=3,x=3.5,y=2.5
那么下面的算术表达式的值是( )。
(float)(a+b)/2+(int)x%(int)y
A) 2
B) 3
C) 3.5
D) 2.5
答案:C
60.若变量x、y已正确定义并赋值,以下正确的表达式是
( )
A) ++x,y=x--
B) x+1=y
C) x=x+10=x+y
D) double(x)/10
答案:A
61.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( )
A) -3
B) 9
C) -12
D) 6
答案:C
62.若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是( )
A) 1
B) 2
C) 2.0
D) 2.5
答案:C
63.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为( )
A) 1.4
B) 1
C) 2.0
D) 2
答案:B
64.假定有以下变量定义:
int k=7,x=12;
则能使值为3的表达式是
A) x%=(k%=5)
B) x%=(k-k%5)
C) x%=k-k%5
D) (x%=k)-(k%=5)
答案:D
65.在C语言中,要求运算数必须是整型的运算符是( )。
A) /
B) ++
C) !=
D) %
答案:D
66.表达式:(int)((double)9/2)-(9)%2的值是( )
A) 0
B) 3
C) 4
D) 5
答案:B
67.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是
A) 6.500000
B) 6
C) 5.500000
D) 6.000000
答案:D
68.若有说明和语句:
int a=5;
a++;
此处表达式a++的值是( )
A) 7
B) 6
C) 5
D) 4
答案:C
69.若有以下说明和语名:
int a=5
a++;
此处表达式a++的值是( )_
A) 7
B) 6
C) 5
D) 4
答案:C
70.设x、y均为int型变量,且x=10 y=3,则以下语句的输出结果是
printf("%d,%d\n",x--,--y);
A) 10,3
B) 9,3
C) 9,2
D) 10,2
答案:D
71.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为
A) 0
B) 1
C) 2
D) 3
答案:C
72.设int a=12,则执行完语句a+=a-=a*a后,a的值是( )__
A) 522
B) 264
C) 144
D) -264
答案:D
73.设int a=12,则执行完语句a+=a-=a*a后,a的值是( )__
A) 522
B) 264
C) 144
D) -264
答案:D
74.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是( )。
A) a=b=c=100;
B) d++;
C) c+b;
D) d=(c=22)-(b++);
答案:C
75.若变量均已正确定义并赋值,以下正确的C语言赋值语句是( )
A) x=y==5;
B) x=n%2.5;
C) x+n=i;
D) x=5=4+1;
答案:A
76.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是( )。
A) a=a+b,b+a-b,a=a-b;
B) t=a,a=b,b=t;
C) a=t; t=b; b=a;
D) t=b; b=a; a=t;
答案:C
77.表达式:10!=9的值是( )
A) true
B) 非零值
C) 0
D) 1
答案:D
78.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是
A) k%2
B) k%2==1
C) (k%2)!=0
D) !k%2==1
答案:D
79.能正确表示逻辑关系“a>=10或a<=0”的C语言表达式是
A) a>=10 or a=10
B) a>=0|a<=10
C) a>=10&&a<=0
D) a>=10||a<=0
答案:D
80.表达式1||2||3||4的值是( )。
A) 1
B) 2
C) 3
D) 4
答案:A
81.表示关系x≤y≤z的c语言表达式为
A) (X<=Y)&&(Y<=Z)
B) (X<=Y)AND(Y<=Z)
C) (X<=Y<=Z)
D) (X<=Y)&(Y<=Z)
答案:A
82.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是
A) c=b=a;
B) (a=c) ‖(b=c) ;
C) (a=c) &&(b=c);
D) a=c=b;
答案:C
83.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。
A) 7
B) 8
C) 6
D) 2
答案:B
84.若t为double类型,表达式t=1,t+5,t++的值是( )
A) 1
B) 6.0
C) 2.0
D) 1.0
答案:D
85.若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是( )
A) 200
B) 100
C) 100 200
D) 输出格式符不够,输出不确定的值
答案:A
86.假定w、x、y、z、m均为int型变量,有如下程序段:
w=1; x=2; y=3; z=4;
m=(w0)
B) (x-y<0)
C) (x-y<0||x-y>0)
D) (x-y==0)
答案:C
89.sizeof(double)是
A) 一种函数调用
B) 一个双精度型表达式
C) 一个整型表达式
D) 一个不合法的表达式
答案:C
90.sizeof(float)的值是:
A) int型
B) float
型
C) double型
D) 不确定
答案:A
91.sizeof(float)的值是()
A) 1
B) 2
C) 4
D) 8
答案:C
92.下述程序输出的结果是( )。
#include
main()
{
char ch[7]={"65ab21"};
int I,s=0;
for(I=0;ch[I]>='0'&&ch[I]<='9';I+=2)
s=10*s+ch[I]-'0';
printf("%d\n",s);
}
A) 12ba56
B) 6521
C) 6
D) 62
答案:B
93.下述程序输出的结果是( )。
#include
main()
{
char s[]="-12345";
int k=0,sign,m;
if(s[k]=='+'||s[k]=='-')
sign=s[k++]=='+'?1:-1;
for(m=0;s[k]>='0'&&s[k]<='9';k++)
m=m*10+s[k]-'0';//同理‘b’-‘a’
printf("Result=%d",sign*m);
}
A) Result=-12345
B) Result=12345
C) Result=-10000
D) Result=10000
答案:A
94.有以下程序
main()
{
int a=666,b=888;
printf("%d\n",a,b);
}
程序运行后的输出结果是( )
A) 错误信息
B) 666
C) 888
D) 666,888
答案:B
95.当用户要求输入的字符串中含有空格时,应使用的输入函数是
A) scanf()
B) getchar()
C) gets()
D) getc()
答案:C
96.读程序
#include
main()
{ int a; float b,c;
scanf("2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%f,c=%f\n",a,b,c);
}
若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是( )
A) a=98,b=765,c=4321
B) a=1,b=432,c=8765
C) a=98,b=765.000000,c=4321.000000
D) a=98,b=765.0,c=4321.0
答案:C
97.请读程序:
#include
main()
{ int a;
float b, c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d, b=%f, c=%f\n", a, b, c);
}
若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是( )
A) a=98, b=765, c=4321
B) a=10, b=432, c=8765
C) a=98, b=765.000000, c=4321.000000
D) a=98, b=765.0, c=4321.0
答案:C
98.若有以下定义和语句:
char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+'A')
则输出结果是( )
A) 2,M
B) 3,E
C) 2,e
D) 输出结果不确定
答案:B
99.若有以下定义和语句:
int u=010,v=0x10,w=10;
printf("%d,%d,%d\n,u,v,w);
则输出结果是( )
A) 8,16,10
B) 10,10,10
C) 8,8,10
D) 8,10,10
答案:A
100.设c1,c2均是char类型变量,则以下不正确的函数调用为( )。
A) printf("%c,%c",c1,c2);
B) getchar(c1);
C) putchar("\");
D) putchar(c1);
答案:B
101.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )。
A) INPUT x、y、z;
B) scanf("%d%d%d",&x,&y,&z);
C) scanf("%d%d%d",x,y,z);
D) read("%d%d%d",&x,&y;&z);
答案:B
102.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按方式( )输入数据。
int k1,k2,k3,k4;
scanf("%d%d",&k1,&k2);
scanf("%d,%d",&k3,&k4);
A) 1020↙
1020↙
B) 10 20↙
10 20↙
C) 10,20↙
10,20↙
D) 10 20↙
10,20↙
答案:D
103.若x为int型变量,y是float型变量,输入语句格式为:
scanf("x=%d,y=%f",&x,&y)
则为使x=20,y=166.6,正确的输入是( )。
A) 20 166.6 <回车>
B) x=20,y=166.6 <回车>
C) 20 <回车> 166.6 <回车>
D) 20,166.6 <回车>
答案:B
104. 请读下面的程序。
程序7-30:P7-30.c
#include
main()
{
int a,b;
for(a=1,b=1;a<=100;++)
{
if(b>=20) break;
if(b%3==1)
{
b+=3;
continue;
}
b-=5;
}
printf("%d\n",a);
}
上面程序的输出结果是( )。
A) 7
B) 8
C) 9
D) 10
答案:B
105.C语言中用于结构化程序设计的三种基本结构是
A) 顺序结构、选择结构、循环结构
B) if、switch、break
C) for、while、do-while
D) if、for、continue
答案:A
106.下述程序的输出结果是( )。
#include
main()
{
int x=7,y=5,z=1;
do
{
if(!(z%x))
if(!(z%y))
{
printf("%d",z);
break;
}
z++;
}
while(z!=0);
}
A) 70
B) 35
C) 105
D) 140
答案:B
107.若执行下面的程序时从键盘上输入5,则输出是( )。
#include
main()
{
int x;
scanf("%d",&x);
if(x++>5)
printf("%d\n",x);
else
printf("%d\n",x--);
}
A) 7
B) 6
C) 5
D) 4
答案:B
108.若执行下述程序时,从键盘输入的数据是3和4,则程序的输出结果是( )。
#include
void main()
{
int a,b,s;
scanf("%d%d",&a,&b);
s=a;
if(ay && y!=0);
C) if (x>0) x--
else y++;
D) if (y<0) {;}
else x++;
答案:C
110.若变量己正确定义,有以下程序段
int a=3, b=5, c=7;
if (a>b) a=b; c=a;
if (c!=a) c=b;
printf("%d,%d,%d\n", a, b, c);
其输出结果是
( )
A) 程序段有语法错
B) 3,5,3
C) 3,5,5
D) 3,5,7
答案:B
111.若执行下面的程序从键盘输入3和4,则输出是( )____
main()
{ int a,b,s;
scanf("%d%d",&a,&b);
s=a;
if (a5) printf("%d\n",x);
else printf("%d\n",x--);}
A) 7
B) 6
C) 5
D) 4
答案:B
113.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( )
main()
{
int x;
scanf("%d",&x);
if (x++>5) printf("%d",x)
else printf("%d\n",x--);
}
A) 7和5
B) 6和3
C) 7和4
D) 6和4
答案:A
114.若k是int型变量,且有下面的程序片段:
k=-3
if(k<=0) printf("####")
else printf("&&&&");
上面程序片段的输出结果是
A) ####
B) &&&&
C) ####&&&&
D) 有语法错误,无输出结果
答案:D
115.若执行以下程序时从键盘上输入9,则输出结果是
main()
{ int n;
scanf("%d",&n);
if(n++<10) printf("%d\n",n);
else printf("%d\n",n--);
}
A) 11
B) 10
C) 9
D) 8
答案:B
116.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( )
if (a5)
if(j>100)
if(k>11)
x=3;
else x=4;
else x=5;
后x的值是( )。
A) 0
B) 3
C) 4
D) 5
答案:D
119.请读程序:
#include
main()
{
int x=1,y=0,a=0,b=0;
switch(x)
{
case 1:
switch(y)
{
case 0:
a++; break;
case 1:
b++; break;
}
case 2:
a++;b++;break;
}
printf(""a=%d,b=%d\n"",a,b);
}
上面程序的输出结果是( )
A) a=2,b=1
B) a=1,b=1
C) a=1,b=0
D) a=2,b=2
答案:A
120.若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是
A) switch(a+b);
{ case 1:y=a+b; break;
case 0:y=a-b; break;
}
B) switch(a*a+b*b)
{ case 3:
case 1:y=a+b;break;
case 3:y=b-a;break;
}
C) switch a
{ case c1 :y=a-b; break
case c2: x=a*b; break
default:x=a+b;
}
D) switch(a-b)
{ default:y=a*b;break
case 3:case 4:x=a+b;break
case 10:case 11:y=a-b;break;
}
答案:D
121.若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是
( )
A)
switch(x)
{ case 1.0: printf("*\n");
case 2.0: printf("**\n"); }
B)
switch((int)x);
{ case 1: printf("*\n");
case 2: printf("**\n"); }
C)
switch(a+b)
{ case 1: printf("*\n");
case 2+1: printf("**\n"); }
D)
switch(a+b)
{ case 1: printf("*\n");
case c: printf("**\n"); }
答案:C
122.对于下面①,②两个循环语句,( )是正确的描述。
①
while(1);
②
for( ; ; );
A) ①②都是无限循环
B) ①是无限循环,②错误
C) ①循环一次,②错误
D) ①②皆错误
答案:A
123.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( )
A) for(i=1, p=1; i<=5; i++) p*=i;
B) for(i=1; i<=5;i++){ p=1; p*=i; }
C) i=1; p=1; while(i<=5){ p*=i; i++;}
D) i=1;p=1;do{p*=i; i++; } while(i<=5)
答案:B
124.下面程序的输出是( )_
main()
{int x=3,y=6,a=0;
while (x++!=(y-=1))
{
a+=1;
if (y7)
{
n--;
printf("%d ",n);
}
A) 10 9 8
B) 9 8 7
C) 10 9 8 7
D) 9 8 7 6
答案:B
127.读程序:
main()
{ int num=0;
while (num<=2)
{ num++; printf("%d ",num);}
}
上面程序的输出结果是( )
A) 1
B) 2 2
C) 1 2 3
D) 1 2 3 4
答案:C
128.当执行以下程序段时
x=-1;
do { x=x*x;} while(!x);
A) 循环体将执行一次
B) 循环体将执行两次
C) 循环体将执行无限次
D) 系统将提示有语法错误
答案:A
129.假定a和b为int型变量,则执行以下语句后b的值为
a=1;b=10;
do
{b-=a;a++;}
while(b--<0);
A) 9
B) -2
C) -1
D) 8
答案:D
130.如下程序的执行结果是( )
main()
{ int x=23;
do
{printf("%d",x--);}
while(!x);
}
A) 321
B) 23
C) 不输出任何内容
D) 陷入死循环
答案:B
131.对for(表达式1; ; 表达式3)可理解为( )。
A) for(表达式1;0;表达式3)
B) for(表达式1;1;表达式3)
C) for(表达式1;表达式1;表达式3)
D) for(表达式1;表达式3;表达式3)
答案:B
132.对于下述for循环语句,说法正确的是( )。
int I,k;
for(I=0,k=-1;k=1;I++,k++)
printf("***");
A) 判断循环结束的条件非法
B) 是无限循环
C) 只循环一次
D) 一次也不循环
答案:B
133.设I,x都是int类型,则下面的for循环体可执行( )次。
For(I=0,x=0;I<=9&&x!=876;I++)
printf("*");
A) 9次
B) 876次
C) 10次
D) 无限循环
答案:C
134.若i,j已经定义为int类型,则以下程序段中内循环总的执行次数是( )
for (i=5;i>0;i--)
for (j=0;j<4;j++) {...}
A) 20
B) 24
C) 25
D) 30
答案:A
135.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )
for (i=5 ; i ; i --)
for(j=0 ; j<4 ; j++){...}
A) 20
B) 25
C) 24
D) 30
答案:A
136.下面程序的功能是输出以下形式的金字塔图案:
*
***
*****
*******
main()
{ int i,j;
for(i=1;i<=4;i++)
{ for(j=1;j<=4-i;j++)printf(" ");
for(j=1;j<=( );j++)printf("*");
printf("\n");
}
}
在下划线处应填入的是
A) i
B) 2*i-1
C) 2*i+1
D) i+2
答案:B
137.设x和y均为int型变量,则执行下的循环后,y值是( )
for(y=1,x=1;y<=50;y++)
{
if(x>=10))break;
if (x%2= =1)
{ x+=5; continue;}
x-=3;
}
A) 2
B) 4
C) 6
D) 8
答案:C
138.设x和y均为int型变量,则执行下的循环后,y值为
for(y=1,x=1;y<=50;y++)
{
if(x>=10)break;
if(x%2==1){x+=5;continue;}
x-=3;
}
A) 2
B) 4
C) 6
D) 8
答案:C
139.下面程序的输出是
main()
{ int y=9;
for( ; y>0; y--)
{ if(y%3==0)
{ printf("%d", --y);continue;}
}
}
A) 741
B) 852
C) 963
D) 875421
答案:B
140.C语言中的循环语句有for,while,do-while,还有一个是( )。
A) if
B) switch
C) goto
D) break
答案:C
141.以下叙述中错误的是
A) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B) 数组名代表的是数组所占存储区的首地址,其值不可改变
C) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
D) 可以通过赋初值的方式确定数组元素的个数
答案:C
142.假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是
A) 3
B) 6
C) 10
D) 20
答案:D
143.下述函数引用中,( )是含有错误的。其中s的定义如下:
char s[10];
A) scanf("%10s",s);
B) printf("%.5s",s);
C) puts(s+3);
D) gets(s);
答案:C
144.有以下程序
main()
{
int x[] = {1, 3, 5, 7, 2, 4, 6, 0}, i, j, k;
for (i = 0; i < 3; i++)
for(j = 2; j >= i; j--)
if (x[j+1] > x[j])
{
k = x[j];
x[j] = x[j+1];
x[j+1] = k;
}
for (i = 0
本文档为【C语言题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。