C语言练习打印.docx
- 文档编号:28901073
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:107
- 大小:54KB
C语言练习打印.docx
《C语言练习打印.docx》由会员分享,可在线阅读,更多相关《C语言练习打印.docx(107页珍藏版)》请在冰豆网上搜索。
C语言练习打印
第1章
考点
1.一个C程序有且只能有一个main函数,并且程序总是从main函数开始执行到main函数结束;
2.main函数可以在程序中的任意位置;
3.一个C源程序可由一个或多个函数组成;
4.注释可以位于程序中的任何位置,但注释不可嵌套;
练习
1一个C程序的执行是从_A_________。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
2以下叙述正确的是_C__________。
A)在C程序中,main函数必须位于程序的最前面
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
3以下叙述不正确的是___________。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
4C语言规定:
在一个源程序中,main函数的位置___________。
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
5一个C语言程序是由___________。
A)一个主程序和若干子程序组成
B)函数组成
C)若干过程组成
D)若干子程序组成
练习答案
1~5:
ACDCB
第2章
考点
1.C语言中整数是以补码形式存放的。
2.C语言中字符是以ASCII码存放的,ASCII码是一些整数,所以一个字符和其对应的ASCII码等价;字符可以作为整数使用;
3.熟记以下字符的ASCII码:
‘a’=97、’A’=65、’0’=48
4.大写字符变小写字符加32如:
’a’==’A’+32
5.小写字符变大写字符减32如:
’A’==’a’-32
6.标识符:
1)只能以字母、数字、下划线组成,以字母或下划线开头;2)不能是C语言关键字
7.字符常量:
以单引号括起来的单个字符
8.字符串常量:
以双引号手括起来的若干个字符
9.sizeof()函数用来求一个数据类型或一个变量所占用的字节数,如:
inta,b;b=sizeof(int);则b的值是2;b=sizeof(a);则b的值是2;
10.在C语言中,运算符有优先级是1)算术运算符>关系运算符>逻辑运算符;2)单目运算符的优先级非常高;3)逗号运算符的优先级最低,赋值运算符次之
11.i++是先用后加,++i是先加后用;
12.自增加和自减运算只能对整型变量和指针变量进行;
13.八进制整数常量以0开头,字母只以包含0~7之间的数字
14.16进制整数常量以0x或0X开头,字母只以包含0~9、A~F或a~f之间的数字和字母;
15.%(模)运算符只能对整型数据进行运算;
16.逗号表达式的计算:
一定要从左向右计算,然后取最后一个表达式的值;
练习
1、C语言中字符型(char)数据在内存中的形式存储是
A)原码B)补码C)反码D)ASCII码
2、C语言中,长整型long数据在内存中的存储形式是
A)ASCII码B)原码C)反码D)补码
3、C语言中运算符按运算对象的数目可以分为
A)单目运算符一种B)单目和双目运算符
C)单目,双目和三目运算符D)单目,双目,三目和四目运算符
4、运算符有优先级,在C语言中关于运算符的正确叙述是
A)逻辑运算符高于算术运算符,算术运算符高于关系运算符
B)算术运算符高于关系运算符,关系运算符高于逻辑运算符
C)算术运算符高于逻辑运算符,逻辑运算符高于关系运算符
D)关系运算符高于逻辑运算符,逻辑运算符高于算术运算符
5、C语言并不是非常严格的语法语言,在以下关于C语言的并不严格的叙述中,错误的说法是
A)大写字母和小写字母意义相同
B)有些不同类型的变量可以在一个表达式中运算
C)在赋值表达式中(=)左边的变量和右边的变量可以是不同类型
D)同一个运算符在不同的场合可以有不同的含义
6、C语言中的简单数据类型包括
A)整型,实型,逻辑型
B)整型,实型,字符型
C)整型,字符型,逻辑型
D)整型,实型,逻辑型,字符型
7、以下选项中属于C语言类型的是
A)复数型
B)逻辑型
C)双精度型
D)集合型
8、已知:
inty;floatx=-3;执行语句:
y=x%2;则变量y的结果是__________.
A)1B)-1C)0D)语句本身是错误的
9、不能进行++和--运算的数据类型是__________.
A)指针B)doubleC)intD)long
10、在C语言中,int、char和short三种类型数据所占的内存
A)均为两个字节
B)由用户自己定义
C)由所用机器的机器字长决定
D)任意的
11、在C语言中,错误的int类型是
A)32768(出现7了说明为8进制,所以不可能有8)
B)0
C)037
D)0Xaf
12、下列常数中不能作为C语言常量的是
A)0xA5
B)2.5e-2
C)3e2
D)0582
13?
、在C语言中,十进制的47可等价的写为(进制之间的转化,先将十进制转化为二进制,然后再向十六进制转化)
十进制47=二进制00101111=十六进制0x2f=八进制057[注意八、十六进制开头以0/0x开始])
A)2f
B)02f
C)57
D)057
14、设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是
A)0至255
B)0至65535
C)-32768至32767
D)-256至255
15、在C语言中,数字029是一个
A)八进制
B)十六进制
C)十进制
D)非法数
16、下列不属于C语言关键字的是
A)default
B)register
C)enum
D)external
17、下列可以正确定义数据类型的关键字是
A)Long
B)signed
C)Shorter
D)Integer
18、下列可以正确表示字符常数的是
A)“a”
B)‘\t’
C)“\n”
D)297
补充:
下列属于C语言合法字符常数的是
A.'\97'
B."A"
C.'\t'
D."\0"
(B和D显然不是字符,有双引号,是字符串。
A应该用8进制,即'\097'才对,所以选C,C是控制字符)
19、以下________是错误的转义字符
A)‘\\’
B)‘\’’
C)‘\81’
D)‘\1’
20、C语言中数据-8在内存中的存储形式是(补码的考察,负数的补码等于相反数的反码加一)
-8原码8的二进制0000000000001000
反码1111111111110111
补码1111111111111000
A)1111111111111000
B)1000000000001000
C)0000000000001000
D)1111111111110111
21、下列各选项中,均是C语言关键字的是
A)auto,enum,include
B)switch,typedef,continue
C)signed,union,scanf
D)if,struct,type
?
22、将字符g赋给字符变量c,正确的是
A)c=“g”(应该为单引号)
B)c=101
C)c=‘\147’
D)c=‘0147’
23、已知inti;floatf;正确的语句是
A)(intf)%i
B)int(f)%i
C)int(f%i)
D)(int)f%i
24、已知:
chara;intb;floatc;doubled;执行语句c=a+b+c+d;后,变量c的数据类型是
A)int
B)char
C)float
D)double
32、已知:
charw;intx;floaty;doublez;
则表达式w*x+z-y后结果的类型是__________
A)float
B)char
C)int
D)double
25、已知intj,i=1;执行语句j=-i++;后,j的值是(++只能对单个变量起到作用,而不能对表达式作用,相当于j=-(i++))
A)1
B)2
C)-1
D)-2
26、已知inti,a;执行语句i=(a=2*3,a*5),a+6;后,变量i的值是(从左至右运算,最后取最右端值)
A)6
B)12
C)30
D)36
27、已知inti=5;执行语句i+=++i;i的值是(i=6+6)
A)10
B)11
C)12
D)都不对
28、字符串“\\\22a,0\n”的长度是
(\,\,\22,a,0,\n)
A)8
B)7
C)6
D)5
123\0567\089
为什么这个字符串用上strlen计算得5?
?
\ta\018bc
这个是6
在C程序中使用转义字符\ddd或者\xhh可以方便灵活地表示任意字符。
\ddd为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制ASCII码值。
\x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制ASCII码值。
第一个,\056转换为了8进制数56所对应的ascii字符,但是对于\089,8进制里面没有8和9两个字符,所以被当成普通字符,所以整个字符串变成
1,2,3,\056,7,\0,8,9
strlen函数碰到\0就会返回,所以总长度到7就结束了,返回5
29、已知:
chara='\70';则变量a中
A)包含1个字符
B)包含2个字符
C)包含3个字符
D)说明非法
30、为求出s=10!
的值,则变量s的类型
应当为__________.
A)int
B)unsigned
C)long
D)以上三种类型均可
31、已知floatx=1,y;则:
y=++x*++x的结果为__________.
A)y=9
B)y=6
C)y=1
D)表达式是错误的
32、上移
33、下列四组字符串中都可以作为C语言程序中的标识符的是
A)print_3doodbaBc
B)I\amone_halfstart$it3pai
C)PxqMy->bookline#His.age
D)str_1Cpppowwhile
34、C语言中下列运算符的操作数必须是int型的运算是
A)%
B)/
C)--
D)++
35、已知:
intx=6;则执行“x+=x-=x*x;”语句后,x的值为(x+=x-=(x*x))
A)36
B)-60
C)60
D)-24
36、已知:
intx;则使用逗号运算的表达式“(x=4*5,x*5),x+25”的结果为__________
A)20
B)100
C)表达式不合法
D)45
37、已知:
inti=6,j;则执行语句“j=(++i)+(i++)”后的j的值是(从左至右)
A)4
B)14
C)13
D)15
38、设a=2,b=3,执行表达式“c=b*=a-1”后,c的值为__________.
A)5
B)3
C)2
D)4
39、若定义了intx;则将x强制转化成双精度类型应该写成__________.
A)(double)x
B)x(double)
C)double(x)
D)(x)double
40、下面四个选项中,均是合法浮点数的选项是__________.(左右有数,且右为整数,可负)
A)+1e+1,5e-9.4,03e2
B)-.60,12e-4,-8e5
C)123e,1.2e-.4,+2e-1
D)-e3,.8e-4,5.e-0
41、下面四个选项中,均是正确的八进制数或十六进制的选项是__________.
A)-10,0x8f,-011
B)0abc,-17,0xc
C)0010,-0x11,0xf1
D)0a12,-0x123,-0xa
42、在C语言中,int、char和short三种类型数据在内存中所占用的字节数__________.
A)由用户自己定义
B)均为2个字节(2\1\2)
C)是任意的
D)由所用机器的机器字长决定
43、设以下变量均为int类型,则值不等于7的表达式是__________.
A)(x=y=6,x+y,x+1)
B)(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y)
D)(y=6,y+1,x=y,x+1)
44、若有以下定义,则能使值为3的表达式是__________.
intk=7,x=12;
A)x%=(k%=5)
B)x%=(k-k%5)
C)x%=k-k%5
D)(x%=k)-(k%=5)
45、设:
floatn;intm;则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是__________.
A)n=(n*100+0.5)/100.0
B)m=n*100+0.5,n=m/100.0
C)n=n*100+0.5/100.0
D)n=(n/100+0.5)*100.0
练习答案
1~5:
DDCBA6~10:
BCDBC11~15:
ADDBD16~20:
DBBCA
21~25:
BCDCC26~30:
BCCAC31~35:
DDAAB36~40:
DBBAD
41~45:
DDCDB
第3章
考点
putchar()是向标准输出设备(显示器)上输出一个字符;
getchar()是从标准输入设备(键盘)是输入一个字符;
printf(“格式控制串”,输出表)是按指定格式向显示器输出数据;其中
格式控制串:
包含两种信息1)格式说明:
%[修饰符]格式字符,用于指定输出格式;2)普通字符或转义序列:
原样输出
常见的转义字符:
'\t''\\''\”''\n''\”''\b''\ddd''\xhh'
练习
1、已知inta=4,b=5,c;则执行表达式“c=a=a>b”变量后a的值为__________。
A)0
B)1
C)4
D)5
2、已说明inta=256,执行语句printf(“%x”,a);的结果是__________
A)0100
B)0256
C)0ffe
D)00ff
3、在C语言库函数中,可以输出double型变量x值的函数是
A)getchar
B)scanf
C)putchar
D)printf
4、已知:
inta,b;用语句scanf("%d%d",&a,&b);输入a、b的值时,不能作为输入数据分隔符的是
A),
B)空格
C)回车
D)〔TAB〕
5、已知:
intx=10,y=3,z;则下列语句的输出结果是:
print("%d/n",z=(x%y,x/y))
A)1
B)0
C)4
D)3
6、已知:
inta,b;则以下语句中错误的函数调用是
A)a=getchar();
B)putchar('\108');
C)scanf("%d%*2d",&a,&b);
D)putchar('\'');
7、已知:
intx=2,y=2;则语句printf("%d/n",(x--%++y));的输出结果是
A)1
B)0
C)-1
D)2
8、已知:
intx=15,y=5;则执行以下语句后的输出为:
printf("%d/n",x%=(y%=2))
A)0
B)1
C)6
D)12
9、已知:
unsignedintx=65535;则执行以下语句后的x的值是
printf("%d/n",x);
A)65535
B)1
C)无定值
D)-1
10、已知intx,y,z,w;则为使以下的语句的输出结果为:
1234+123+12+1,正确的输入形式为:
scanf("%4d-%3d-%2d-%1d",&x,&y,&z,&w);
printf("%4d+%3d+%2d+%1d/n",x,y,z,w);
A)1234123121
B)1234123121
C)1234-123-12-1
D)1234+123+12+1
11、已知:
intw=3,x=10,z=7;则执行下面语句后的结果为
printf("%d",x>10?
x+100:
x-10);
printf("%d,"w++||z++);
printf("%d",!
w>z);
printf("%d",w&&z);
A)0111
B)11111
C)0101
D)0100
12、执行语句:
printf("theprogram\'snameisc:
\\tools\book.txt");后的输出是
A)theprogram'snameisc:
toolsbook.txt
B)theprogram'snameisc:
\toolsbook.txt
C)theprogram'snameisc:
\\toolsbook.txt
D)theprogram'snameisc:
\toolook.txt
13、已知:
intx;floaty;所用的scanf调用语句格式为:
scanf("x=%d,y=%f",&x,&y);
则为了将数据10和66.6分别付给x和y,正确的输入应该是:
A)x=10,y=66.6<回车>
B)10,66.6<回车>
C)10<回车>66.6<回车>
D)x=10<回车>y=66.6<回车>
14、已知:
intx,y;doublez;则以下语句中错误的函数调用是
A)scanf("%d,%lx,%le",&x,&y,&z);
B)scanf("%2d*%d%lf",&x,&y,&z);
C)scanf("%x,%*d%o",&x,&y,&z);
D)scanf("%x,%o%6.2f",&x,&y,&z);
15、putchar函数可以向终端输出一个__________
A)整型变量表达式值
B)实型变量值
C)字符串
D)字符或字符型变量值
16、printf函数中用到格式符%5s,其中数组5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式________
A)从左起输出该字符串,右补空格
B)按原字符串从左到右全部输出
C)右对齐输出该字符串,左补空格
D)输出错误信息
17、以下说法正确的是__________
A)输入项可以为一个实型常量,如scanf("%f",3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);
D)当输入数据时,必须指定变量的地址,如scanf("%f",&f);
18、根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该是_________
main(){
charch1,ch2,ch3;
输入语句
printf("%c%c%c",ch1,ch2,ch3);
}
输入形式:
ABC
输出形式:
AB
A)scanf("%c%c%c",&ch1,&ch2,&ch3);
B)scanf("%c,%c,%c",&ch1,&ch2,&ch3);
C)scanf("%c%c%c",&ch1,&ch2,&ch3);
D)scanf("%c%c",&ch1,&ch2,&ch3);
19、已有定义inta=-2;和输出语句:
printf("%8ld",a);以下正确的叙述是_________
A)整型变量的输出格式符只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
20、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是__________
inta1,a2;
charc1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A)10A20B
B)10A20B
C)10A20B
D)10A20B
练习答案
1~5:
AACAD6~10:
BAADC11~15:
ADACD16~20:
BCDDC
第5章
考点
1.运算符的优先级
2.逻辑运算符&&与||运算时要注意短路现象,短路特性:
逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。
如:
1)a&&b&&c//只在a为真时,才判别b的值;只在a、b都为真时,才判别c的值
2)例a||b||c//只在a为假时,才判别b的值;只在a、b都为假时,才判别c的值
3.下列表达式等价:
1)a与a!
=02)!
a与a==0
4.关系运算的结果是0或1,0表示假,1表示真;
5.进行逻辑运算时,对对参与运算的运算量:
0表示“假”,非0表示“真”;运算结果:
0表示“假”,1表示“真”;
6.注意switch中的break语句
7.break语句功能:
跳出循环,不再进行执行循环,但只能跳出最近的一层循环;continue语句功能:
结束本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习 打印