C语言基本语法规则练习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2 基本输入输出函数
一、选择题 1.scanf 函数中的“格式控制字符串”后面必须是 A.变量地址 B.变量名 C.常量 D.表达式 2.printf 函数中格式控制部分 A.是加上双引号(“”)的一个字符串 B.包括需要原样输出的普通字符,但不包括转义字符 C.包括格式说明符,且其必须与输出表列中的输出项的类型相符、个数相同 D.A 和 C 是正确的。 3.下列语句正确的是 A.printf(%d%dm10,15); B.printf(“%s”,’a’); C.printf(“%c”,’hello’); D.为变量 real 输入一个 double 类型的数据:scanf(“%f”,&real); 4.分析下列程序的运行结果。
第二章 基本语法规则
2.1 数据类型、运算符、表达式
一、选择题 1.C 语言中确定数据存储的格式、范围与有效位数的依据是 A.数据正负 B.数据范围 C.数据类型 D.数据大小 2.一般说在 C 语言中字符型数据、整型数据、单精度浮点型及双精度浮点型数据的存储长 度分别为 A.2、4、8、1 B.4、2、1、8 C.1、2、4、8 D.1、4、2、8 3.转义字符“\t”表示 A.横向跳格,即跳到下一个输出区 B.竖向跳格 C.退格 D.换行 4.以下叙述不正确的是 A.C 语言中的常量分别为整型常量、浮点常量、字符常量、符号常量 B.整型常量在 C 语言中有十进制、八进制和十六进制等 3 种不同形式 C.C 语言中,变量必须先定义后使用 D.变量被定义后,变量名是固定的,变量的值在程序运行过程中是不可以随时被改变 的 5.以下叙述不正确的是 A.C 语言中的字符常量是用一对单引号(' ')括起来的单个字符 B.字符串常量是用一对双引号(“ “)括起来的字符序列 C.字符型数据与整型数据之间不可以通用。 D.为了便于判断字符串是否结束,系统会自动在最后一个字符后面加上一个转义字符 (‘\0’) 6.在赋值语句中用来将运算表达式的值赋给变量的“=”称为 A.等号 B.赋值运算符 C.关系运算符 D.逻辑运算符 7.设 a=12,n=3,则执行表达式 a%=n+3 后 a 的值为 A.3 B.0 C.6 D.12 8.设,A=0,B=1 表达式!A&&B 的值是 A.1 B.0 C.2 D.3 9.在 16 位 PC 机环境下,字符串“A”应占的字节数为 A.2 B.1 C.0 D.4 10.采用十进制数为表示方法,则 077 是 A.77 B.112 C.63 D.119 11.设 x 为 float 型变量,y 为 double 型变量,a 为 int 型变量,b 为 long 型变量,c 为 char 型变量,则表达式 x+y*a/x+b/y+c 计算结果的类型为 A.int B.long C.double D.char 12.设 a,c 为 int 型变量,进行 a=(c=5,c+5,c/2)运算后的结果为 A.2 B.5 C.2.5 D.0
D.4
D.2
D.8.500000
D.0
D.0
printf("%d,%d",a,b); } A.0,0 B.2,0 C.0,1 D.2,1 9.#include"stdio.h" main( ) { int a,b,c; a=(b=(c=3)*5)*2-3; printf("a=%d,b=%d,c=%d\n",a,b,c); } A.a=27,b=30,c=3 B.a=27,b=15,c=3 C.a=27,b=15,c=15 D.a=30,b=30,c=3 10.已知字符 A 的 ACSII 码值为 65,以下程序的输出结果是 main() { char ch=’B’ +32;; printf(“%c %d\n”, ch,ch); } A.B98 B.b98 C.9898 D.bb
x=15;y=5;printf(“%d\n”,x%=(y%2)); A.0 B.1 C.6 D.12 37.设 i=5;执行 i*=i++;后,i 的值为。 A.25 B.26 C.5 D.6 38.设 a 的值为 12,则执行表达式 a+=a-=a 后 a 的值为 A.0 B.12 C.10 D.24 39.若 x 为 int 型变量,则执行 x=6; x+=x-=x*x; 语句后,x 的值为 A.36 B.-60 C.60 D.-24 40.若有说明语句 int i,j;且 i 的值为 6,则执行语句 j=(++i)+(i++);后 j 的值是 A.4 B.14 C.13 D.15 41.关系运算中用来表示等于、不等于、小于的符号分别为 A.=,=< B.==,=< C.=,<>,< D.= =,!=,< 42.设 a=2, b=7.5, c=-3.6,以下哪两个逻辑表达式的值相同 A.1) ‘a’>‘c’||‘x’<‘y’ 2) b-a<=c/2&&c=-3.6 B.1) ‘a’>‘c’&&‘x’<‘y’ 2) a-7<b-6.5 C.1) ‘a’>‘c’||‘x’>‘y’ 2)‘a’<‘c’&&a>b D.1) ‘a’>‘c’&&‘x’>‘y’ 2)‘a’<‘c’||a>c 43.逻辑运算中的非、与、或的运算次序是 A.&&,||,! B.&&,!,|| C.!,||,&& D.!,&&,|| 44.若 w=1,x=2,y=3,z=4,则条件表达式 w<x?w:y<z? y:z 的结果为。 A.4 B.3 C.2 D.1 *45.表达式 0x08>>2 的值为 A.2 B.8 C.1 D.4 *46.定义:int x=5,y=1;表达式 x&y==y?x|y:x∧y 的值为。 A.1 B.0 C.4 D.5 47.若有定义:int a=10,b=9,c=8;执行下面两条语句 c=(a-=(b-5));c=(a%11)+(b=3); 后,变量 b 的值为 A.9 B.4 C.3 D.2 48.设 x,y,z 和 k 都是 int 型变量,则执行表达式:x=(y=4,z=16,k=32)后,x 的值为 A.52 B.32 C.16 D.4 49.使条件表达式(year%4==0&&year%100!=0)||(year%400==0)结果为假的值是 A.1950 B.2000 C.1996 D.2004 50.已知 int i=1,j;执行语句 j=-i++;后,i 和 j 的值分别为 A.1,1 B.1,-1 C.2,-1 D.2,-2 二、阅读程序,写出程序的运行结果。 1. main( ) { char c1=’6’,c2=’0’; printf(“%c,%c,%d\n”,c1,c2,c1-c2); } A.因程序格式不合法,提示出错信息。 C.6,0,7 2. main( ) { int x=010,y=10,z=0x10;
B.6,0,6 Dቤተ መጻሕፍቲ ባይዱ6,0,5
printf(“%d,%d,%d\n”,x,y,z); } A.8,10,16 B.8,10,10 C.10,10,10 3. main() { int a,b,c; a=b=c=1; b=b+c; a=a+b; printf(“%d\n”, (c<b)?b:a); } A.3 B.1 C.2 4. #include <stdio.h> main() { int x=1,y=1,z=1; y=y+z; x=x+y; z=x<y?y:x; printf (“%d\n”,z>=y&&y>=x); } A.0 B.1 C.3 5. #include <stdio.h> #include <math.h> main() { int a=1, b=4, c=2; float x=5.5, y=9.0, z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf(“%f\n”,z); } A.9.300000 B.9.800000 C.12.900000 6.main() { int x=3; y=z=4; printf( “%d\n”, z>=y>=x); } A.3 B.4 C.1 7.main() { int p=30; printf("%d\n",(p/3>0 ? p/10:p%3)); } A.10 B.1 C.3 8.#include"stdio.h" main( ) { int a,b,d=241; a=d/100%9; b=(-1)&&(-1); D.10,10,16
B.12,12,12,12 D.12,012,0x12,12
}
A.x=235 C.x=235
,y= 3.14159 ,y=3.141593
B.x= 235,y= 3.14159 D.x=235,y=3.14159
6.已定义 x 为 float 型变量,x = 213.82631;printf(“%-4.2f\n”,x);则输出为 A.输出格式描述符的域宽不够,不能输出 B.213.82 C.213.83 D.-213.82 7.若有 int a=123; float b=345.678; 函数 printf(“a=%5d\tb=%7.4f\n”,a,b); 的输出结果是 A.a= 123 b=345.6780 B.a=123 b=345.6780 C.a= 123 b=345.678 D.123 345.678 8.若有 char ch=’#’; float b=345.678; 函数 printf(“%c\t%-8.2f\n”,ch,a); 的输出结果是 A.# 345.678 B.#345.68 C.# 345.68 D.#345.678 9.若有 float a,b,c;a=b=c=1.389; 则执行以下语句后的输出结果是 printf(“a=%f\tb=%f\tc=%f\n”,a*2,b+2.3,c); A.a=2.788 b=3.589 c=1.389 B.a=2.788 b=3.589 c=1.389 C.a=1.389 b=1.389 c=1.389 D.a=1.389 b=1.389 c=1.389 10 .对语句 scanf(“%d,%c*%d”,&x,&y,&z) ;正确的输入是。 A.1 A 4 B.1,A,4 C.1,A*4 D.1,‘A’*4 11.#include<stdio.h> main() { float r1=10.0, r2=20.0, r3=30.0; float i,r,u; u=120.0; r=r1*r2*r3/(r2*r3+r1*r3+r1*r2); i=u/r; printf("u=%7.2e\n",u); printf("i=%5.2f",i); } 可选运行结果: A.u=120.00 B.u=1.2e+02 C.1.2e+02 D.u=120.00 i=2.2e+01 i=22.00 i=2.2e+01 i=22.00 12.定义变量如下:int x;float y; 则以下正确的输入语句是。 A.scanf(“%f%f”,&x,&y); B.scanf(“%f%d”,&x,&y); C.scanf(“%f%d”,&y,&x); D.scanf(“%5.2f%2d”,&x,&y); 13.putchar 函数可以向终端输出一个 A.字符或字符变量的值 B.字符串 C.实型变量 D.整型变量的值 14.若有定义:int a,b;使用语句 scanf("%d,%d",&a,&b);给变量 a,b 分别赋值 10 和 20,则正确的输入格式为 A.10,20 B.10 20 C.10<回车>20 D.a=10,b=10
main() { } int x=12; printf(“%d,%o,%x,%u,”,x,x,x,x);
A.12,14,c,12 C.12,41,c,12
5.main() { int x=235; double y=3.1415926; printf(“x=%-6d,y=%14.5f\n”,x,y);
13.在 C 语言中,表示逻辑“真”和“假”的值分别是 A.0、1 B.1、2 C.1、0 D.2、1 14.C 语言中表示 a 小于 b 或小于 c 的表达式为 A.a<b<c B.a<b||b<c C.a<b||a<c D.a<b&&a<c 15.C 语言中表示 a 和 b 都大于 c 的表达式为 A.a>c&&b>c B.a>c||b>c C.a>b||b>c D.a>b&&b>c 16.a 和 b 中有一个小于 c 的表达式为 A.a<c||b<c B.a<c&&b<c C.a<b||b<c D.a<b&&b<c 17.若有 a=2,b=3,c=4,则表达式 a= =3 和 a=3 的值分别为 A.0 和 0 B.1 和 3 C.3 和 3 D.0 和 3 18.表达式!(1<3)||(2>5)和!(4<=8)&&(7>=3)的值分别为 A.1 和 0 B.0 和 0 C.0 和 1 D.1 和 1 *19.设 a=4,计算表达式 a=1,a+5,a++的值为 A.1 B.5 C.10 D.2 20.设 x=4,y=8,计算表达式 y=(x++)*(--y)的值为 A.28 B.32 C.40 D.35 23.下列叙述正确的是 A.赋值语句中的“=”是表示左边变量等于右边表达式 B.赋值语句中左边的变量值不一定等于右边表达式的值 C.赋值语句是由赋值表达式加上分号构成的 D.x+=y;不是赋值语句 24.下列选项中,可以作为C语言标识符的是 A.3stu B.#stu C.stu3 D.stu.3 25.下列选项中,不可以作为C语言标识符的是 A.num B.turbo_c C.print D.student3 26.下列选项中,不可以作为 C 语言常量的是 A.”abc” B.1/2 C.‘M’ D.13.8e 27.下列选项中,正确的一组语句是 A.char a; B.char b; C.char c; D.char d; a=’M’; b=’55’; c=”M”; d=”55”; 28.已知字母’b’的 ASCII 码值为 98,如 ch 为字符型变量,则表达式 ch=’b’+’5’-‘2’的值为 A.e B.d C.102 D.100 29.下列不是字符串常量的是 A.“1818" B.“aads” C._abdc D.“a” 30.在 C 语言中,int、char 和 short 三种类型数据所占用的内存是 A.均为 2 个字节 B.由用户定义 C.是任意的 D.由所用机器的机器字长决定 31.设 int 类型的数据长度为 2 个字节,则 unsigned int 类型数据的取值范围是 A.0 至 255 B.0 至 65535 C.-32768 至 32767 D.-256 至 255 36.设 x 和 y 均为 int 型变量,则执行以下语句后的输出为