C语言程序设计基础试题及答案.docx
- 文档编号:29414925
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:24
- 大小:27.03KB
C语言程序设计基础试题及答案.docx
《C语言程序设计基础试题及答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础试题及答案.docx(24页珍藏版)》请在冰豆网上搜索。
C语言程序设计基础试题及答案
第一部分C语言基础
一、选择题
1.以下正确的C语言标识符是()
A.%XB.a+bC.a123D.test!
2.已定义inta,b;则以下不正确的C语句是()
A.a*=5;B.b/=2;C.a+=1.75;D.b&&=a;
3.若x、i、j和k都是整型变量,则执行下面表达式后x的值为()
x=(i=4,j=16,k=32)
A.4B.16C.32D.52
4.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()
A.必须是字母B.必须为下划线
C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符
5.下面正确的字符常量是()
A.“c”B.’\\”C.‘w’D.”
6.设inta=2,b=0,c;则执行语句c+=b&&a--后,c的结果为()。
A.0,1B.1,0C.2,0D.不确定
7.以下不正确的C语言标识符是()
A) int
B) a_1_2
C) ab1exe
D) _x
8.以下是正确的C语言标识符是()。
A) #define
B) _123
C) %d
D) \n
9.下列四组字符串中都可以用作C语言程序标识符的一组是() 。
A) print B) i\am C) Pxq D) str_l
_3d one_half My->book Cpp
oodbs tart$it line# pow
10.下面各选项组中,均是C语言关键字的组是() 。
A) auto,enum,include
B) switch,typedef,continue
C) signed,union,scanf
D) if,struct,type
11.下列不属于C语言关键字的是() 。
A) default
B) register
C) enum
D) external
12.C语言程序从main()函数开始执行,所以这个函数要写在()。
A) 程序文件的开始
B) 程序文件的最后
C) 它所调用的函数的前面
D) 程序文件的任何位置
13.下列关于C语言的叙述错误的是()
A) 大写字母和小写字母的意义相同
B) 不同类型的变量可以在一个表达式中
C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D) 同一个运算符号在不同的场合可以有不同的含义
14.在C语言中,错误的int类型的常数是() 。
A) 32768
B) 0
C) 037
D) 0xAF
15.将字符g赋给字符变量c,正确的表达式是() 。
A) c=\147
B) c="\147"
C) c=’\147’
16.下列转义字符中错误的一个是()。
A) ’\000’
B) ’\0014’
C) ’\x111’
D) ’\2’
17.将空格符赋给字符变量c,正确的赋值语句是()。
A) c=’\0’
B) c=NULL
C) c=0
D) c=32
18.已知:
char a=’\70’;则变量a中() 。
A) 包含1个字符
B) 包含2个字符
C) 包含3个字符
D) 说明非法
19.字符串"\"EOF\n=-\61\""的长度是()。
A) 8
B) 9
C) 14
D) 非法字符串
20.字符串""的长度是()。
A) 0
B) 1
C) 2
D) 非法字符串
21.已知:
char a;int b;float c;double d;执行语句"c=a+b+c+d;"后,变量c的数据类型是() 。
A) int
B) char
C) float
D) double
22.温度华氏和摄氏的关系是:
C=-(F-32)。
已知:
float C,F;由华氏求摄氏的正确的赋值表达式是()。
A) C=5/9(F-32)
B) C=5*(F-32)/9
C) C=5/9*(F-32)
D) 三个表达式都正确
23.逗号表达式"(a=3*5,a*4),a+15"的值是()。
A) 15
B) 60
C) 30
D) 不确定
int x=1,y=1,z=1;
表达式"x+++y+++z++"的值是()。
A) 3
B) 4
C) 5
D) 表达式错误
25.用十进制表示表达式"12|012"的值是()
A) 1
B) 0
C) 12
D) 14
x=(1,2,3,4);变量x的值是()。
A) 1
B) 2
C) 3
D) 4
27.表达式sizeof(double)是 ()。
A) 函数调用
B) double型表达式
C) int型表达式
D) 非法表达式
28.C语言程序的执行,总是起始于()。
A)程序中的第一条可执行语句
B)程序中的第一个函数
C)main函数
D)包含文件中的第一个函数
29.下列说法中正确的是(。
)
A)C程序书写时,不区分大小写字母
B)C程序书写时,一行只能写一个语句
C)C程序书写时,一个语句可分成几行书写
D)C程序书写时每行必须有行号
30.下面对C语言特点,不正确描述的是()。
A)C语言兼有高级语言和低级语言的双重特点,执行效率高
B)C语言既可以用来编写应用程序,又可以用来编写系统软件
C)C语言的可移植性较差
D)C语言是一种结构式模块化程序设计语言
31.C语言源程序的最小单位是()。
A)程序行B)语句C)函数D)字符
32.以下四项中属于C语言关键字的是()。
A)CHARB)defineC)unsignedD)return
33.十进制数2403转换成十六进制数为()。
A)963B)369C)953D)359
34.二进制数00110101转换成八进制数是()。
A)055B)065C)056D)152
35.计算机内部运算使用的数是(。
)
A)十进制数B)十六进制数C)二进制数D)八进制数
36.一个字长的二进制位数是()。
A)2个BYTE,即16个bitB)3个BYTE,即24个bitC)4个BYTE,即32个bitD)随计算机系统不同而不同
37.在C语言系统中,假设int类型数据占2个字节,则double、long、unsignedint、char类型数据所占字节数分别多少(。
)
A)8,2,4,1B)2,8,4,1C)4,2,8,1D)8,4,2,1
38.下面程序段执行结果是( ) 。
inti=5,k;
k=(++i)+(++i)+(i++);
printf("%d,%d",k,i);
A)24,8B)21,8C)21,7D)24,7
三、上机操作题
1.分析程序并上机操作。
下列程序的运行结果是什么?
main()
{
intx=5;
inty=10;
printf(“%d\n”,x++);
printf(“%d\n”,++y);
}
2.从键盘上输入学生5门功课的成绩,计算出总成绩和平均成绩并输出。
1.C2.D3.C4.C5.C6.D7.A8.B9.A10.B11.D12.D13.A14.A15.C16.A17.D18.A19.B20.A21.C22.B23.C24.A25.A26.D27.C28.C29.C30.C31.B32.C33A34B35C36A37D38B
练习题1
一、选择题
1.下列标识符中,(B)是合法的用户标识符。
A.A#CB.getchC.voidD.ab*
2.在c语言中,字符数据在内存以(D)形式存放。
A.原码码C.反码码
3.下列不合法的用户标识符是(C)。
A._123B.printfC.A$
4.(A)是构成c语言程序的基本单位。
A.函数B.过程C.子程序D.子列程
5.若有说明:
chars1=‘\067’;chars2=“1”;
chars3=‘1’;则:
s1中
(1),s2中
(2),s3中(3)。
(1)A.包含3个字符B.包含2个字符
C.包含1个字符D.无定值,说明符不合法
(2)A.包含3个字符B.包含2个字符
C.包含1个字符D.无定值,说明符不合法
(3)A.包含3个字符B.包含2个字符
C.包含1个字符D.无定值,说明符不合法
6.若x为int型变量,则执行以下语句后,x的值为(B).
x=6;
x+=x-=x*x;
A.36B.-60C
7.若i,j,k为int型变量,则执行以下语句后,表达式的值为(C)
i=j=k=3;
(i++)+(i++)+(i++);
(j++)+(j++)+(++j);
(++k)+(++k)+(++k);
A.12,12,12B.12,12,18C.9,12,18D.9,10,18
8.若k为int型变量,则执行以下语句后,表达式的值为(B)
k=5;
(k=3*5,k*4),k+5;
A.5B.20C
9.若有以下类型语句:
charw;intx;floaty;doublez;
则表达式w*x+z-y的结果为(D)类型
A.floatB.charC.int
10.在一个C源程序中,注释部分两侧的分界符分别为(C).
A.;和;B./和/C./*和*/D.*和*
11.下述程序的输出结果是(C)
#include“stdio.h”
main()
{intx=65,y=353;
printf(“%c,%c”,x,y);}
A.a,AB.65,353C.A,aD.353,65
12.下述程序的输出结果是(D)
#include“stdio.h”
main()
{inta,b,c;
a=(b=4)+(c=2);
printf(“%d,%d,%d”,a,b,c);}
A.0,0,0B.4,4,2C.0,4,2D.6,4,2
语言中的语句有(C)类
A.3B.4C
14.格式符为%-md,输出的位数小于m时,按(B)输出
A.右对齐B.左对齐C.中间对齐D.不确定
15.下述程序片段中,执行(C)后输出的值为4
A.inti=1,j=1;B.inti=0,j=0;
i=j=3++;(i=2,i+(j=2));
printf(“%d”,i);printf(“%d”,i);
C.inti=1,j=1;D.inti=0,j=1;
i+=j+=2;j=i+1,i=i+3;
printf(“%d”,i);printf(“%d”,i);
16.下述程序的输出结果是(B)
#include“stdio.h”
main()
{inta=0x155;
printf(“%d,%o,%c”,a,a,a);}
A.155,155,155B.341,525,U
C.341,525,uD.不确定
语言可执行程序的开始执行点是(C)
A.程序中第一条可执行语句
B.程序中第一个函数
C.程序中的main函数
D.包含文件中的第一个函数
18.下述程序片段的执行结果是(B)
inta=-2L;
printf(“%d\n”,a);
A.赋值不合法B.输出值为-2
C.输出为不确定值D.输出值为2
19.下述表达式中,(A)可以正确表示x<=0或x>=1的关系
A.(x>=1)||(x<=0)B.x>1||x<=0
C.x>=1.OR.x<=0D.x>=1||x<=0
20.下述程序的输出结果是(C)
#include“stdio.h”
main()
{intx=-1,y=4;
intk;
k=x++<=0&&!
(y--<=0);
printf(“%d,%d,%d”,k,x,y);}
A.0,0,3B.0,1,2C.1,0,3D.1,1,2
21.下述程序的输出结果是(C)
#include“stdio.h”
main()
{inta=0,b=0,c=0;
if(++a>0||++b>0)++c;
printf(“\n%d,%d,%d”,a,b,c);}
A.0,0,0B.1,1,1C.1,0,1D.0,1,1
22.下述程序的输出结果是(D)
#include“stdio.h”
main()
{inta=1,b=2,c=3,d=4;
intm=1,n=1;
if((m=a>b)&&(n=c>d))printf(“%d,%d”,a,b);
elseprintf(“%d,%d”,m,n);}
A.1,2B.1,1C.0,0D.0,1
23.(D)是不正确的C语言赋值语句
A.x=1,y=2;B.x++;C.x=y=5;D.y=int(x);
24.若程序执行的输入数据是“2473”,则下述程序的输出结果是(A)
#include“stdio.h”
main()
{intcx;
while((cx=getchar())!
=‘\n’)
{switch(cx-’2’)
{case0:
case1:
putchar(cx+4);
case2:
putchar(cx+4);break;
case3:
putchar(cx+3);
default:
putchar(cx+2);}}}
B.668966C
25.下述程序的输出结果是(B)
#include“stdio.h”
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;}
case2:
a++;b++;break;
case3:
a++;b++;break;
default:
a++;b++;}
printf(“\n%d,%d”,a,b);}
A.1,0B.2,1C.1,1D.2,2
26.下述for语句(A)
inti,x;
for(i=0,x=1;i<=9&&x!
=876;i++)
scanf(“%d”,&x);
A.最多循环10次B.最多循环9次
C.无限循环D.一次也不循环
27.下述程序的输出结果是(D)
#include“stdio.h”
main()
{inty=10;
while(y--);
printf(“%d”,y);}
A.10B.0C.1
28.下列关于switch和break语句的结论中,只有(C)是正确的
语句是switch中的一部分
B.在switch语句中必须使用break语句
C.在switch语句中可以根据需要使用或不使用break语句
D.以上三个结论中有两个是正确的
29.如下述程序运行时输入的数据是3.6,2.4,则输出是(B)
#include“math.h”
#include“stdio.h”
main()
{floatx,y,z;
scanf(“%f,%f”,&x,&y);
z=x/y;
while
(1)
{if(fabs(z)>1.0)
{x=y;y=z;z=x/y;}
elsebreak;}
printf(“%f”,y);
}
A.1.500000B.C
30.下述程序运行后,输出的结果是(C)
#include“stdio.h”
main()
{inti=1;
do
{switch(i)
{case0:
putchar(‘A’);break;
case1:
putchar(‘A’);
default:
putchar(‘A’);break;
case2:
putchar(‘A’);break;
case3:
putchar(‘A’);break;
}i++;
}while(i<4);
}
A.AAB.AAA
31.下述程序运行后,输出的结果是(B)
#include“stdio.h”
main()
{intm,n,sum=0;
for(m=1;m<=3;m++)
for(n=1;n<=3;n++)
if(m==n)sum=sum+m*n;
elsecontinue;
printf(“%d\n”,sum);
}
A.18B.14C
测试题1
一、选择题(每小题1分,共20分)
1.把C语言编写的源程序转换成目标程序的过程称为:
(B)
A.编辑B.编译C。
连接D。
汇编
2.以下C语言合法的标识符是:
(C)
A.5h4B.J5E-10C.int3D.*p
3.下列数据中,符合C语言十进制整形常量的是:
(D)
A.09876B。
0x9876C.9e4D.-9876
4.C语言中运算对象为整形数的运算符是:
(A)
A.%B。
/C.=D.*=
5.占用内寸2个字节的数据类型说明符是:
(B)
6.设inta=20;则表达式a/=a+a运算后a的值是:
(A)
7.若a,b为int型变量,则执行以下语句后,a的值是:
(B)
a=1;b=10;do{b-=a;a++}while(b--<0);
A.4B.2C.1D.3
8.若x,y,z,m,n均为int型变量,则执行下面语句后的z值是:
(D)
m=10;n=5;
x=(--m==n++)?
--m:
++n;
y=m++;
z=n;
9.C语言中符合选择结构型的语句是:
(C)
A.y=a*x+y;B.while(x>0)
Y=a*x+y;
C.if(x>=0)D.for(;x>0;)
While(x>0)y=a*x+y;
y=a*x+y;
10.在for,while,do–while的循环语句中,用于中断结束循环的语句是:
(A)
A.breakB.continueC.switchD.if
11.设有数据定义语句:
charstring1[10]=”ABCDE”,string2[10]=”xyz”;执行语句:
printf(“%d”,strlen(strcpy(string1,string2)));后的输出结果是:
(D)
A.9B.8C.5D.3
12.执行下列程序段后,i的正确结果是:
(D)
inti=10;
switch(i)
{
case9:
i+=1;
case10:
i++;
case11:
++i;
default:
i+=i;
}
A.10B.11C.12D.24
13.函数调用返回值的类型取决于:
(D)
A.函数return语句中返回值的类型B。
形参的类型
C.实参的类型D。
该函数的定义类型
14.设有函数A和函数B,函数的嵌套调用是指:
(B)
A.函数A调用函数BB.主函数调用函数A,函数A又调用函数B
C.函数B调用函数BD.函数B调用A,而函数A又调用函数B
15.设数组定义为inta[5];则正确引用数组元素的是:
(A)
A.a[0]B.a[5]C.a[2,3]D.*a
16.设初始化语句chars[4]=”123”;则数组元素s[3]的值是:
(C)
A.‘1’B。
‘3’C。
‘\0’D。
非法
17.设定义一个结构类型如下:
structstudent
{
charname[10];
charaddress[50];
longpost;
longtel;
}
则在定义该结构变量structstudentLi后,系统分配给变量Li的内存单元字节数是:
(C)
A.4B。
62C。
68D。
102
18.如果某变量在定义时,省略了存储类型,则默认的存储类型是:
(A)
A.autoB.voidC.externD.static
19.设有语句定义:
intx[]={1,3,5,7,9,11,13},*p=x;不能正确引用数组x的合法元素的表达式是:
(B)
A.*(p--)B.*(--p)C.*(p++)D.*(++p)
20.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后,n的值是:
(B)
二、填空题(每空0.5分,工20分)
1.C语言有__整型__、__实型__、___字符型_、__字符串_、符号等5种基本类型的常量。
2.转义字符是由___\______符号开头的特殊字符或若干个数字组成的。
3.++和——属于___单目___运算符。
4.在逻辑运算符中,只有___!
__运算符的优先级高于算术运算符。
5.C语言程序设计的三种基本结构是___顺序___、___选择___、__循环__。
6.能表达“20
7.设变量的定义如下:
chara;intb;floatc;doubled;则表达式a*b+c/d值的类型为:
___double______。
8.设intk,i=3,j=4;则执行k=(++i)+(j--);语句后k,i和j的值分别为___8___、____4_____、_____3____。
9.C语言中规定逻辑表达式的真值为:
__1(非零)__、假值为__0(零)__。
10.for语句的定义形式为:
for(___循环变量初值___、__循环条件__、__循环变量增值__)。
11.若a=1,b=2,表达式a+=b-=a*=a+b之值为___2___;表达式(a
=b>2之值为__1__;表达式c=a+3,b=c+(a+b)之值为__7__;表达式a+2==b?
(c=0):
(d=1)之值为__1__;
12.C语言的函数主要由__函数的说明部分__和__函数体__两部分组成。
13.C语言中调用函数时,函数参数的传递方式主要有__值传递__、__地址传递___。
14.若使用库函数,一般应在本文件开头处用___#include___命令将有关库函数所用到的信息包含到本文件中来。
15.设charc[]={“C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 基础 试题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)