[小学]C语言基础试题
C语言基础试题
一、单选题:
1、以下说法中正确的是( c)
A. C语言程序总是从第一个的函数开始执行
B. 在C语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
2、C语言可执行程序的开始执行点是( c)
A. 程序中的一条可执行语句
B. 程序中第一个函数
C. 程序中的main函数
D. 包含文件中的第一个函数
3、C程序是( B)
A. 顺序执行
B. 从Main函数开始
C. 从函数体开始
D. 任意语句
4、C语言程序的基本单位是_____B__.
A. 语句
B. 函数
C. 程序行
D. 字符
5、C语言程序由( C)组成
子程序 A.
B. 过程
C. 函数
D. 主程序段程序
6、一个C程序的执行是从( A)
A. 本程序的main函数开始,到main函数结束
B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结
束
C. 本程序的main函数开始,到本程序文件的最后一个函数结束
D. 本程序文件的第一个函数开始,到本程序main函数结束
7、以下叙述正确的是( C)
A. 在C程序中,main函数必须位于程序的最前面
B. C程序的每行中只能写一条语句
C. C语言本身没有输入输出语句
D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误
8、以下叙述不正确的是 D
A. 一个C源程序可由一个或多个函数组成
B. 一个C源程序必须包含一个main函数
C. C程序的基本组成单位是函数
D. 在C程序中,注释说明只能位于一条语句的后面
9、C语言规定,在一个源程序中,main函数的位置(C)
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后
10、一个C语言程序是由 B
A. 一个主程序和若干子程序组成
B. 函数组成
C. 若干过程组成
D. 若干子程序组成
二、填空题:
1、函数体用____{___开始,用____}__结束。
2、C源程序的基本单位是____函数__________
3、一个C源程序中至少应包括一个____MAIN函数_________
4、在一个C源程序中,注释部分两侧的分界符分别为___/*_____和_____*/___
三、程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
题:(这两个程序设计题上课讲过我就不做了,自己写
吧)
1、编写一个C程序,输出以下信息:
*********************
Very good!
*********************
2、编写一个程序,输入a,b,c三个值,输出其中最大者。
第2 章 程序设计的灵魂——算法
一、单选题:
1、将三个数排序需要比较__B____次。
A. 2
B. 3
C. 4
D. 不确定
2、算法的表示
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
有___A_____。
A. 自然语言,传统
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图,N-S流程图,伪代码,计算机语言
B. 高级语言,汇编语言,机器语言
C. C语言,QBASIC语言,InterDev
D. 图形图像法,描述法,编程法
二、问答题:
1、什么是结构化的算法,为什么要提倡结构化的算法,
2、算法有哪些特性,
3、什么叫算法,为什么要提倡结构化算法,
第3 章 数据类型、运算符和表达式
一、单选题:
1、设 int b=2;表达式b/(b*2)的值是____A____.
A. 0
B. 0.5
C. 0.500000
D. 0.000000
2、设有如下定义:
int a=1,b=2,c=3,d=4,m=2,n=2;
则执行表达式:(m= a < b)&&(n= c > d)后,m的值为__A___。
A. 1
B. 2
C. 3
D. 0
3、设有a=b=c=2,求表达式a+++b+++c++的结果是___A____。
A. 6
B. 9
C. 8
D. 表达式出错
4、表示关系X < =Y < =Z的C语言表达式为___A_____。
A. (X < =Y)&&(Y < =Z)
B. (X < =Y)AND(Y < =Z)
C. (X < =Y < =Z)
D. (X < =Y)&(Y < =Z)
5、选出运行结果为4的表达式( C);
A. int i=0,j=1;(i=3,(++j > +1))
B. int i=0,j=1;(j==1)?(i=1):(i=3)
C. int i=1,j=1;i+=j+=2;
D. int i=1,j=0;j=i=((i=3)*2);
6、表达式(a=3*5,a*5),a+5的值是多少(B )
A. 20
B. 80
C. 不能确定
D. 15
7、设有整型变量a,b,c,它们的初值是1运行表达式:
++a||++b&++c后,a,b,c的值分别是:___A_____。 (这个最好电脑上通过一下)
A. 2,1,1
B. 2,2,1
C. 1,2,1
D. 1,1,2
8、下面的表达式中__A__满足:当x为偶数时值为“真”,为奇数时值为“假”
A. x%2==0
B. !x%2!=0
C. 2*x/2-x==0
D. !(x%2)
9、C语言的对语句中用作判断的表达式一般为__E__
A. 关系表达式
B. 逻辑表达式
C. 算术表达式
D. 逻辑表达式和关系表达式
E. 关系或逻辑表达式
10、若已定义x和y为double型,则表达式:x=1,y=x+3/2的值是
(D )
A. 1
B. 2
C. 2.0
D. 2.5
11、若有以下定义:
char a; int b;
float c;double d;
则表达式a*b+d-c值的类型为__D____.
A. float
B. int
C. char
D. double
12、以下定义和语句:
char cl='b',c2='e';
printf(″,d,,c\n″,c2,c1,c2,'a','A');
则输出结果是:___B____.
A. 2,M
B. 3,E
C. 2,E
D. 输出项与对应的格式控制不一致,输出结果不确定
13、语句:printf("%d \n",12&&12);的输出结果是___B_____.
A. 12
B. 1
C. 24
D. 0
14、设A=3,B=4,执行
printf("%d,%d",(A,B),(B,A));的输出是___B___.
A. 3,4
B. 4,3
C. 3,3
D. 4,4
15、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是 A
A. 200
B. 100
C. 200 100
D. 输出格式符不够,输出不确定的值
16、表达式:10~=9的值是__D_
A. true
B. 非零值
C. 0
D. 1
17、请读程序:
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(表示回车),则上面程序的输出结
果是 B
A. A=98, B=765, C=4321
B. A=10, B=765.000000, C=4321.000000
C. A=98, B=765.0, C=4321.0
D. 以上答案都不正确
18、执行程序段char str[20]={'a','b','c','\o'};
int len=strlen(str);
变量len的值为( C)
A. 20
B. 4
C. 3
D. 3或4或20
19、若x,i,j和k都是int型变量,则计算下面表达式后,x的值为 C
x=(i=4,j=16.k=32)
A. 4
B. 16
C. 32
D. 52
20、下列四组选项中,均不是C语言关键字的选项是 A
A. define IF type
B. getc char printf
C. include scanf case
D. while go pow
21、下列四个选项中,均是C语言关键字的选项是 B
A. auto enum include
B. switch typedef continue
C. signed union scanf
D. if struct type
22、C语言中的标识符只能由字母,数字和下划线三种字符组成,且
第一个字符 C
A. 必须为字母
B. 必须为下划线
C. 必须为字母或下划线
D. 可以是字母,数字和下划线中任一字符
23、下面四个选项中,均是不合法的浮点数的选项是 B
A. 160. 0.12 e3
B. 123 2e4.2 .e5
C. -.18 123e4 0.0
D. -e3 .234 1e3
24、已知各变量的类型说明如下: A
int k,a,b;
unsigned long w=5;
double x=1.42;
则以下不符合C语言语法的表达式是
A. x%(-3)
B. w+=-2
C. k=(a=2,b=3,a+b)
D. a+=a-=(b=4)*(a=3)
25、以下不正确的叙述是 D
A. 在C程序中,逗号运算符的优先级最低
B. 在C程序中,APH和aph是两个不同的变量
C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
26、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 A
A. 2.500000
B. 2.750000
C. 3.500000
D. 0.000000
27、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为 C
A. int
B. float
C. double
D. 不确定
28、以下关于运算符优先顺序的描述中正确的是 C
A. 关系运算符 < 算术运算符 < 赋值运算符 < 逻辑运算符
B. 逻辑运算符 < 关系运算符 < 算术运算符 < 赋值运算符
C. 赋值运算符 < 逻辑运算符 < 关系运算符 < 算术运算符
D. 算术运算符 < 关系运算符 < 赋值运算符 < 逻辑运算符
29、若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是 B
A. (exp==0)
B. (exp!=0)
C. (exp==1)
D. (exp!=1)
30、设 int x=1, y=1; 表达式(!x||y--)的值是 B
A. 0
B. 1
C. 2
D. -1
二、填空题:
1、字符串“This is a string"的存储形式为___顺序存储_______。
2、写出下问表达式运算后a的值设原来a=12
1) a+=a 24
2) a-=a 0
3) a/=a+a 0
4) a+=a-=a,,a 0
3、求下面算术表达式的值
1) x+a%3*(int)(x+y)%2/4 2.5
设x,2.5,a=7,y,4.7
2) (float)(a+b)/2+(int)x%(int)y 3.5
设a=2,b=3,x=3.5,y=2.5
4、写出该程序运行的结果。
#include
void main()
{ int i, j, k=10;
i=(j=k)>0;
j=i==j;
printf(``%2d,%2d\n``,i,j); 1 0
k=!i==++j;
printf("%2d, %2d, %2d\n", i, j, k);} 1 1 0
5、main( )
{char st='A';
int i=10; st=st+i;i=st%i;
printf("%C,%d\n",st,i);}
已知字母A的ASCII码为65
结果:__K,5__
6、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_____9_______
7、C语言中的标识符只能由三种字符组成,它们是___字母____,____数字__和___下画线_______
8、已知字母a的ASCII码为十进制数97,且设ch为字符型变量,
则表达式ch='a'+'8'-'3'的值为___f_______
9、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式 pow(y,fabs(x))的值为____8.0_____
10、若有定义:int e=1,f=4,g=2;
float m=10.5,n=4.0,k;则计算赋值表达式
k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是___13.7_________
第4 章 顺序程序设计
一、单选题:
1、输入一个华氏温度,要求输出摄氏温度。计算公式为: c=5/9(F-32),
以下程序正确的是(B)
A. main() { float c,F; scanf("%f,%f",&c,&F); c=5/9*(F-32); printf("摄氏温度是:%f\n",c); }
B. main() { float c,F; scanf("%f,%f",&c,&F); c=5*(F-32)/9; printf("摄氏温度是:%f\n",c); }
C. main() { float c,F; scanf("%f,%f",&c,&F); c=5%9*(F-32);
printf("摄氏温度是:%f\n",c); }
D. main() { float c,F; scanf("%f,%f",&c,&F); c=5.0/9.0(F-32); printf("摄氏温度是:%f\n",c); }
2、以下程序的输出结果是 C
main( )
{
int a=12,b=12;
printf("%d %d\n",--a,++b);
}
A. 10 10
B. 12 12
C. 11 13
D. 11 10
3、有如下程序
main0
{
int y=3,x=3,z=1;
printf("%d %d\n",(++x,y++),z+2);
}
运行该程序的输出结果是 D
A. 3 4
B. 4 2
C. 4 3
D. 3 3
4、能正确表示逻辑关系:"a ? =10或a ? 0"的C语言表达式是 D
A. a > =10 or a < =0
B. a > =0||a < =10
C. a > =10 &&a < =0
D. a < =0 || a>=10
5、下列程序的输出结果是 C
main()
{
double d=3.2;
int x,y;
x=1.2; y=(x+3.8)/5.0;
printf("%d \n", d*y);
}
A. 3
B. 3.2
C. 0
D. 3.07
二、填空题:
1、从键盘输入一个大写字母,要求改用小写字母输出,程序如下办
#include
main( )
{ char c1,c2;
(1)___scanf(“%c”,&c1);______;
printf ("%c,%d\n",c1,c1 );
(2)___c2=c1+32;__________;
printf("%c,%d\n",c2,c2);}
2、以下程序不用第三个变量,实现将两个数进行对调操作:
#include
main()
{ int a , b ;
scanf ("%d%d" , &a , &b);
printf("a=%d b=%d\n" , a , b );
a=(_a+b_________); b=(_a-b_______); a=(____a-b_____);
printf(