单片机C语言练习题

  • 格式:doc
  • 大小:102.50 KB
  • 文档页数:13

C语言习题集习题一一.填空题1.C程序是由()构成的,一个C程序中至少包含()。

因此,( ) 是C程序的基本单位。

2. 函数体是有符号____开始,符号____结束。

函数体当中,前面是变量的____部分,后面变量的____部分。

3.一个C源程序中至少应包括一个_______。

4.在一个C源程序中,注释部分两侧的分界符分别为_____和________。

在C语言的每条语句后面都要有____结束二.判断题1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。

【】2.main函数必须写在一个C程序的最前面。

【】3.一个C程序可以包含若干的函数。

【】4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。

但是可以增加程序的可读性。

【】5.C程序的注释只能是一行。

【】6.C程序的注释不能是中文文字信息。

【】三、选择题1 一个C程序的执行是从________。

(A)本程序的main函数开始,到main函数结束。

(B)本程序的第一个函数开始,到本程序文件的最后一个函数结束。

(C) 本程序的main函数开始,到本程序文件的最后一个函数结束。

(D)本程序的第一个函数开始,到本程序main函数结束。

2 以下叙述不正确的是_________。

(A)一个C源程序可由一个或多个函数组成。

(B)一个C源程序必须包含一个main函数。

(C) 程序的基本组成单位是函数。

(D)在C程序中,/**/类的注释说明只能位于一条语句的后面3 C语言规定:在一个源程序中,main函数的位置___。

(A)必须在最开始(B)必须在所有函数的后面(C)可以任意(D)必须在最后四.程序阅读1、找出该程序中的错误并改正。

#include<stdio.h>;main();float r,s;/*/*r is radius*/*/r=5.0 s=3.14*r*r;printf(“%f\n”,s)五.编程题1. 利用keil c 集成开发环境建立一个c语言的工程,旋转的MCU型号是STC89C52,并在工程内添加一个名为main的c文件,并在c文件中建立一个空的主函数。

习题二(第2、3节知识)一.选择题1、合法的用户标识符是( )A)abc B) !a C)int D)sfr2、合法的字符常量是( )A)…\084‟B) “a” C)…ab‟D)963、是C语言提供的合法的数据类型关键字( )A)Float B)unsigned int C)integer D)Char4、在以下各组标识符中,合法的标识符是( )(1)A)B01 B)table_1 C)0_t D)k%(2)A)Fast_ B)void C)pbl D)<book>(3)A)xy_ B)longdouble C)*p D)CHAR(4) A) sj B)Int C)_xy D)w_y23------------------------------------------------------------------------------5、属于合法的C语言unsigned char型常量的是( )A)5876273 B)0 C)-20 D)58762.736、unsigned char a=32,char b=‘A’那么表达式a+b 的数值是( )A)'A' B)0 C)-1 D)'a'7、判断unsigned char x = 300;x的结果是( )A)赋值非法B)溢出C)为300 D)为448、为了计算s=10!(即10的阶乘),则s变量应定义为( )A)int B)unsigned C)long D)以上三种类型均可9、与代数式(x*y)/(u*v) 不等价的C语言表达式是( )A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y10、在C语言中,数字029是一个( )A)八进制数B)十六进制数C)十进制数D)非法数11、在C语言中,要求参加运算的数必须时整数的运算符是( )A)/ B)* C)% D) =12、假定x和y为float型,则表达式x=2,y=x+3/2的值是( )A)3.500000 B)3 C)2.000000 D)3.00000013、以下合法的赋值语句是( )A)x=y=100 B)x+y=a+b C)x+y D)c=int(a+b)14、int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为( )A)1 B)2 C)3 D)415、若有定义:int a=3,b=2,c=1;并有表达式:①a%b,②a>b>c,③b&&c+1,④c+=1,则表达式值相等的是( )A)①和②B)②和③C)①和③D)③和④16、逻辑运算符两侧运算对象的数据类型( )A)只能是0或1 B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据二.填空题1、在C51中,一个unsigned char数据在内存中所占字节数为,其数值范围为;一个unsigned int数据在内存中所占字节数为,其数值范围为;2、C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符不能为。

4、在C语言中,不同运算符之间运算次序存在的区别5、设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为。

6、数学表达式1<=a<=3 的C语言表达式为。

7、已知:char a=‟a‟,b=‟b‟,c=‟c‟,unsigned int i;则表达式i=a+b+c的数值为。

8、已知int a=12,n=5;则:表达式运算后a的值各为。

a+=aa-=2a*=2+3a/=a+an%=(n%=2)a+=a-=a*=a9、设int a; float f; 则表达式10+‟a‟+9*f值的数据类型是。

10、已知a,b,c是一个整数的百位,十位,个位,则该数的表达式是。

11、若a是int变量,则执行表达式a=25/3%3后,a的值是。

12、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。

A)(x>=1) && (x<=10) && (x>=200) && (x<=210)B)(x>=1) | | (x<=10) | | (x>=200) | | (x<=210)C)(x>=1) && (x<=10) | | (x>=200) && (x<=210)D)(x>=1) | | (x<=10) && (x>=200) | | (x<=210)13、C语言提供6种关系运算符,按优先级高低它们分别是,,,,,等。

14、C语言提供三种逻辑运算符,按优先级高低它们分别是,,。

15、设a=3,b=4,c=5,写出下面各逻辑表达式的值。

表达式表达式运算后的值a+b>c && b==c!(a>b) && !c || 1!(a+b) + c –1 && b + c/216、将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式。

17、已知A=7.5,B=2,C=3.6,表达式A>B && C>A || A<B && !C>B的值是。

三.程序阅读题1.写出以下程序的输出结果。

main ( ){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}四.程序填空题1.下列程序的输出结果是16.00,请填(1)空使程序完整。

main ( ){ int a=9,b=2;float x=[ 1 ] , y=1.1 , z;z=a/2+b*x/y+1/2;printf(“%5.2f\n”,z);}五.编程题1.已知a,b均是无符号整型变量,写出将a,b两个变量中的值互换的程序来。

习题三(第4、5节知识)一.选择题1、C语言对嵌套if语句的规定是:else总是与( )A)其之前最近的if配对B)第一个if配对C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对2.下面是错误的if语句(设int x,a,b;)A)if (a=b) x++; B)if (a=<b) x++;C)if (a-b) x++; D)if ( x ) x++;3.以下程序片段( )main ( ){ int x=0,y=0,z=0;if (x=y+z)printf(“***”);elseprintf(“###”);}A)有语法错误,不能通过编译B)输出:***C)可以编译,但不能通过连接,所以不能运行D)输出:###4.对下述程序,是正确的判断。

main ( ){ int x,y;scanf(“%d,%d”,&x,&y);if (x>y)x=y;y=x;elsex++;y++;printf(“%d,%d”,x,y);}A)有语法错误,不能通过编译B)若输入3和4,则输出4和5C)若输入4和3,则输出3和4 D)若输入4和3,则输出4和5 5.下述程序的输出结果是。

main ( ){ int a=0,b=0,c=0;if (++a>0 | | ++b>0)++c;printf(“%d,%d,%d”,a,b,c);}A)0,0,0 B)1,1,1 C)1,0,1 D)0,1,16.以下程序输出结果是。

main ( ){ int x=1,y=0,a=0,b=0;switch(x) {case 1:switch (y) {case 0 : a++ ; break ;case 2:a++; b++; break;case 3:a++; b++;}printf(“a=%d,b=%d”,a,b);}A)a=1,b=0 B)a=2,b=1 C)a=1,b=1 D)a=2,b=27.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是。

if (a<b)if (c<d) x=1;elseif (a<c)if (b<d) x=2;else x=3;else x=6;else x=7;A)1 B)2 C)3 D)48.若int i=0;执行下列程序后,变量i的正确结果是。