《C语言》练习题及答案解析
《C语言》练习题及答案解析
一.选择题
1.下列字符序列中,不可用作C语言标识符的是(B)。
A.abc123 B.no.1 C._123_ D._ok
2.一个C语言源程序是由(B)。
A. 一个主程序和若干子程序组成
B. 一个或多个函数组成
C. 若干过程组成
D. 若干子程序组成
3. 正确的C语言标识符是 (A )。
A._buy_2 B.2_buy C.?_buy D.buy?
4. 已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为( A)。
A.’D’ B.68 C.不确定的值 D.’C’
5.下列说法中,错误的是(A)。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号
B.每个函数都有一个函数头和一个函数体,主函数也不例外
C.主函数只能调用用户函数或系统函数,用户函数可以相互调用
D.程序是由若干个函数组成的,但是必须有且仅有一个主函数
6.有如下程序段,从键盘输入数据的正确形式应是( B)。(注:└┘代表空格)
float x,y,z;
scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);
A.123 B.x=1,y=2,z=3
C.1,2,3 D.x=1└┘ y=2└┘ z=3
7.在C语言中,char型数据在内存中的存储形式是( D)。
A.补码 B.反码 C.原码 D.ASCII码
8. 下列符号中,不属于转义字符的是(B )。
A.\\ B.\0xAA C.\t D.\0
9. 不属于C语言关键字的是( D)。
A.int B.break C.while D.character
10. 以下说法中正确的是(C)。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main( )函数中定义
C.C语言程序总是从main( )函数开始执行
D.C语言程序中的main( )函数必须放在程序的开始部分
11. C语言程序的基本单位是( C)。
A.程序行 B.语句 C.函数 D.字符
12.在C语言中,要求运算数必须是整型的运算符是( D)。
A./ B.++ C.*= D.%
13.以下选项中,合法的实型常数是(C)。
A.5E2.0 B.E-3 C.2E0 D.1.3E
14.以下符合C语言语法的赋值表达式是( B)。 A.a=9+b+c=d+9 B.a=(9+b, c=d+9)
C.a=9+b, b++, c+9 D.a=9+b++=c+9
15.若有说明语句:char s=’\72’;则变量s( A)。
A.包含一个字符
B.包含两个字符
C.包含三个字符
D.说明不合法,s的值不确定
16.若有代数式cdab3,则不正确的C语言表达式是(C)。
A.a/c/d*b*3 B.3*a*b/c/d
C.3*a*b/c*d .a*b/d/c*3
17.为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C)组成配对关系。
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前未配对的最近的if
D.同一行上的if
18.已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是(C)。
A.0
B.语法错
C.1
D.“假”
19.根据定义和数据的输入方式,输入语句的正确形式为:( B)。(注:└┘代表空格)
已有定义:float x,y;
数据的输入方式:1.23
4.5
A.scan(”%f,%f”,&x,&y); B.scanf(”%f%f”,&x,&y);
C.scanf(”%3.2f└┘%2.1f”,&x,&y); D.scanf(”%3.2f%2.1f”,&x,&y);
20.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为(A )。
#include ”stdio.h”
main()
{char s1,s2,s3;
输入语句;
printf(”%c%c%c”,s1,s2,s3);
}
输入形式:A└┘B└┘C (注:└┘代表空格)
输出形式:A└┘B
A.scanf(”%c%c%c”,&s1,&s2,&s3);
B.scanf(”%c└┘%└┘c%c”,&s1, &s2,&s3);
C.scanf(”%c,%c,%c”,&s1,&s2,&s3);
D.scanf(”%c%c”, &s1, &s2,&s3);
21.表达式13/3*sqrt(16.0)/8的数据类型是( C)。
A.int B.float C.double D.不确定
22.putchar函数可以向终端输出一个( D)。 A.整型变量表达式值。
B.字符串
C.实型变量值。
D.字符或字符型变量值。
23.已知各变量的类型说明如下:
int m=8,n, a, b;
unsigned long w=10;
double x=3.14, y=0.12;
则以下符合C语言语法的表达式是(A)。
A.a+=a-=(b=2)*(a=8) B. n=n*3=18
C.x%3 D.y=float (m)
24.若有定义:int m=7; float x=2.5, y=4.7; 则表达式x+m%3*(int)(x+y)%2/4的值是(A)。
A.2.500000 B.2.750000 C.3.500000 D.0.000000
25.设以下变量均为int类型,则值不等于7的表达式是(C)。
A.(m=n=6, m+n, m+1)
B.(m=n=6, m+n, n+1)
C.(m=6, m+1, n=6, m+n)
D.(m=6, m+1, n=m, n+1)
26.已知s是字符型变量,下面不正确的赋值语句是(B)。
A.s=’\012’; B.s= ’u+v’;
C.s=’1’+’2’; D.s=1+2;
27. 下列运算符中优先级最高的是(C)。
A.< B.&& C.+ D.!=
28.已知int a=1,b=2,c=3; 以下语句执行后a,b,c的值是(B)。
if(a>b)
c=a; a=b; b=c;
A.a=1, b=2, c=3
B.a=2, b=3, c=3
C.a=2, b=3, c=1
D.a=2, b=3, c=2
29.下列选项中符合C语言语法的语句是(D)。
A.a=7+b+c=a+7; B.a=7+b++=a+7;
C.a=7+b,b++,a+7 D.a=7+b,c=a+7;
30.以下程序段的输出结果是(C )。
int a=12345; printf(”%2d\n”, a);
A.12 B.34 C.12345 D.提示出错,无结果
31. 逻辑运算符两侧运算对象的数据类型(D)。
A.只能是0或1
B.只能是0或非0正数
C.只能是整型或字符型数据
D.可以是任何类型的数据
32.判断char型变量s是否为小写字母的正确表达式是(C)。
A.’a’ <= s<=’z’ B.(s>=’a’) & (s<=’z’)
C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 33. 选择出合法的if语句(设int x,a,b,c;)(A)。
A.if(a=b) c++;
B.if(a=
C.if(a<>b) c++;
D.if(a=>b) c++;
34. 能正确表示“当x的取值在[-58,-40]和[40,58]范围内为真,否则为假”的表达式是(C)。
A.(x>= -58) && (x<= -40) && (x>=40) && (x<=58)
B.(x>= -58) || (x<= -40) || (x>=40) || (x<=58)
C.(x>= -58) && (x<= -40) || (x>=40) && (x<=58)
D.(x>= -58) | |(x<= -40) && (x>=40) || (x<=58)
35.若变量已正确说明为float类型, 要通过语句scanf(”%f %f%f”, &a, &b, &c);给a赋予10.0,
b赋予22.0, c赋予33.0, 不正确的输入形式为( B)。
A.10 B.10.0,22.0,33.0
22
33
C.10.0 D.10 22
22.0 33.0 33
36.请阅读以下程序:该程序(C)。
#include ”stdio.h”
main()
{ int x=-10, y=5, z=0;
if (x=y+z) printf(”***\n” );
else printf(”$$$\n”);
}
A.有语法错不能通过编译
B.可以通过编译但不能通过连接
C.输出***
D.输出$$$
37.以下程序的运行结果是(C)。
#include ”stdio.h”
main()
{ int a=1;
if (a++>1) printf(”%d\n”, a);
else printf(”%d\n”, a--);
}
A.0 B.1 C.2 D.3
38. 以下程序的输出结果是( A )。
main()
{ int n=4;
C语言练习题及答案
单项选择题:
1.( A )是构成C语言程序的基本单位。
A、函数 B、过程 C、子程序 D、子例程
2.C语言程序从 C 开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数
C) 程序中的main函数 D) 包含文件中的第一个函数
3、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main( )函数中定义
C、C语言程序总是从main( )函数开始执行
D、C语言程序中的main( )函数必须放在程序的开始部分
4.下列关于C语言的说法错误的是( B ) 。
A) C程序的工作过程是编辑、编译、连接、运行
B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环
D) C程序从main函数开始执行
5.下列正确的标识符是(C )。
A.-a1 B.a[i] C.a2_i D.int t
6.下列C语言用户标识符中合法的是( B )。
A)3ax B)x C)case D)-e2 E)union
7.下列四组选项中,正确的C语言标识符是( C )。
A) %x B) a+b C) a123 D) 123
8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。
A、print _3d db8 aBc B、I\am one_half start$it 3pai
C、str_1 Cpp pow while D、Pxq My->book line# His.age
计算机c语言简单的练习题及答案
1. 从矩形的长,宽,输出面积(长为6.5,宽为4.5)
#include
main()
{
float length,width,area;
scanf("%f%f",&length,&width);
area=length*width;
printf("area=%f\n",area);
}
2. 定义符号常量,从键盘输入圆的半径3.5,求圆的周长和面积
#define PI 3.14
#include
main()
{
float r,c,area;
scanf("%f",&r);
c=2*PI*r;
area=PI*r*r;
printf("c=%f,area=%f\n",c,area);
}
3. 练习上机手册P10 3,4,5题,看看输出结果,并思考为什么
4. 从键盘输入一个整数,输出其绝对值(采用两个if语句实现)
#include
main() {
int i;
scanf("%d",&i);
if(i>=0)
printf("i=%d\n",i);
if(i<0)
printf("i=%d\n",-i);
}
5. 从键盘输入一个整数,输出其绝对值(采用if——else语句实现)
#include
main()
{
int i;
scanf("%d",&i);
if(i>=0)
printf("i=%d\n",i);
else
printf("i=%d\n",-i);
}
6. 从键盘输入年份,判断是不是闰年,如果是,输出是闰年(上机考试重点)
#include
main()
{ int year;
scanf("%d",&year);
if((year%4==0&&year%100!=0)||year%400==0)
printf("%d是闰年",year);
else
printf("%d不是闰年",year);
}
7. 输入学生的高考成绩,成绩>=560,输出读一本,如果>=520,输出读二本,如果>=480输出读三本,否则输出读专科
C语言练习题及答案 2
本文由忘断悲伤贡献
ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机
查看。
第二章课堂习题
一.选择题 1、不是合法的字符常量是 。 A) ‘\t’ B) “A” C) ‘a’ D
)’\x32’ 2、 合法的字符常量是 。 A) ‘\084’ B) ‘\84’ C) ‘ab’
D)’\x43’
3、是C语言提供的合法的数据类型关键字。 A) Float B) signed C) integ
er D)Char 4、在以下各组标识符中,合法的标识符是。 (1)A)B01 B)table_1
C) 0_t D) k% (2)A)Fast_ B) void C)pbl D)
(3) A)xy_ B)longdouble C)*p (4) A) sj B)Int C)_xy
D)CHAR D)w_y23
5、在C语言中,要求参加运算的数必需是整数的运算符是 。 A)/ B)* C)%
D) = 6、在C语言中,字符型数据在内存中以 形式存放。 A)原码 B)BCD码 C)反码
D)ASCII码 7、下列语句中,符合语法的赋值语句是 。 A)a=7+b+c=a+7; B)
a=7+b++=a+7; C)a=(7+b,b++,a+7); D)a=7+b,c=a+7;
8、对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中, 是正确的。 A)语
法错误 B)f为5.0 C)f为0.0 D)f为2.0 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)*y 10、在C语言中,数
字029是一个。 A)八进制数 B)十六进制数 C)十进制数 D)非法数 11、C语言中整
数-8在内存中的存储形式为 。 A)1111111111111000 B)100000000001000 C)000
二级C语言课后练习题及答案
一、单项选择题
1.C语言程序的执行,总是起始于【 】。
A) 程序中的第一条可执行语句
B) 程序中的第一个函数
C) main函数
D) 包含文件中的第一个函数
分析:在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。
本题正确答案为C。
2.下列说法中正确的是【 】。
A) C程序书写时,不区分大小写字母
B) C程序书写时,一行只能写一个语句
C) C程序书写时,一个语句可分成几行书写
D) C程序书写时每行必须有行号
分析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。
本题正确答案为C。
3.下面对C语言特点,不正确描述的是【 】。
A) C语言兼有高级语言和低级语言的双重特点,执行效率高
B) C语言既可以用来编写应用程序,又可以用来编写系统软件
C) C语言的可移植性较差
D) C语言是一种结构式模块化程序设计语言
分析:C语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以C语言既可以编写应用程序,又可以开发系统软件,而且C程序可移植性好于汇编语言,程序清晰具有模块化的特点。
本题正确答案为C。
4.C语言源程序的最小单位是【 】。
A) 程序行B) 语句C) 函数D) 字符
分析:程序行、语句、函数都是由字符构成的,字符是C语言的最小单位。
本题正确答案为D。
5.以下四项中属于C语言关键字的是【 】。
A) CHAR B) define C) unsigned D) return
分析:C语言有32个关键字(或称保留字),它们都有特定的含意,并且由小写字母组成,所以选项A是错的,选项B不是保留字,选项D是return的错误拼写。
C语言练习题及答案解析三
一、单项选择题
1.下面不属于C语言的数据类型是【 】。
A) 整型 B) 实型 C) 逻辑型 D) 双精度实型
分析:和其它高级语言相比,C语言中没有逻辑型数据,也没有逻辑型变量。
本题正确答案为C。
2.C语言中,下列属于构造类型的是【 】。
A) 整型 B) 实型 C) 指针类型 D) 结构体类型
分析:C语言中构造类型的数据有三种:数组、结构体和共用体,数组是同类型数据的集合,结构体是不同类型的数据集合。
本题正确答案为D。
3.下列字符串不符合标识符规定的是【 】。
A) SUM B) sum C) 3cd D) end
分析:标识符规定只能由26个英文字母(大小写均可),数字0~9和下划线组成,且不能以数字开头,题中的3cd不符合规定。
本题正确答案为C。
4.下面能正确表示八进制数的是【 】。
A) 0x16 B) 029 C) -114 D) 033
分析:选项A)以0x开头是十六进制数,选项B)虽然是0开头,但出现了数字9,选项C)是十进制数。
本题正确答案为D。
5.下面四个选项中,均是合法实数的选项是【 】。
A) 2e-4.2 B)-0.50 C) 0.2e-.5 D)-e5
分析:实数有两种表示形式:小数形式和指数形式,小数形式必须有小数点,指数形式中,字母e之前必须有数字,e之后必须是整数。选项A)中的"2e-4.2",选项C)中的"0.2e-.5",选项D)中的"-e5"均是不合法的。
本题正确答案为B。
6.C语言中,字符型数据在内存中存储形式是【 】。
A) 原码 B) 反码 C) 补码 D) ASCII码
分析:C语言中int型数据是以补码形式存放的,字符型数据是以ASCII码形式存放的。
本题正确答案为D。
7.下列正确的字符型常量是【 】。
A) "a" B) ′\\\\′ C) "\\r" D) 277
C语言练习题及参考答案
1 练习题1及参考答案
1. 单项选择题
(1)以下并非C语言的特点的是 。
A. C语言简洁和紧凑
B. 能够编制出功能复杂的程序
C. C语言可以直接对硬件进行操作
D. C语言移植性好
【答】B
(2)一个C程序的执行是从 。
A. main()函数开始,直到main()函数结束
B. 第一个函数开始,直到最后一个函数结束
C. 第一个语句开始,直到最后一个语句结束
D. main()函数开始,直到最后一个函数结束
【答】A
(3)在C程序中,main()的位置 。
A. 必须作为第一个函数
B. 必须作为最后一个函数
C. 可以任意
D. 必须放在它所调用的函数之后
【答】C
(4)一个C程序是由 。
A. 一个主程序和若干子程序组成
B. 一个或多个函数组成
C. 若干过程组成
D. 若干子程序组成
【答】B
(5)下列说法正确的是 。
A. 在执行C程序时不是从main()函数开始的
B. C程序书写格式限制严格,一行内必须写一个语句
C. C程序书写格式比较自由,一个语句可以分行写在多行上
D. C程序书写格式严格要求一行内必须写一个语句,并要求行号
【答】C
2. 填空题
(1)一个C源程序至少有 ① 个main()函数和 ② 个其他函数。
【答】①一 ②若干
(2)任何C语句必须以 结束。 2 【答】分号
(3)C语言源程序的基本单位是 。
【答】函数
(4)C编译程序的功能是 。
【答】将C源程序编译成目标代码
3 练习题2及参考答案
1. 单项选择题
(1)以下字符串为标识符的是 。
A. _MY B. 2_2222 C.
short D. LINE 5
c语言上机练习题及答案
1. 从矩形的长,宽,输出面积(长为,宽为)
#include <>
main()
{
float length,width,area;
scanf("%f%f",&length,&width);
area=length*width;
printf("area=%f\n",area);
}
2. 定义符号常量,从键盘输入圆的半径,求圆的周长和面积
#define PI
#include <>
main()
{
float r,c,area;
scanf("%f",&r);
c=2*PI*r;
area=PI*r*r;
printf("c=%f,area=%f\n",c,area);
}
3. 练习上机手册P10 3,4,5题,看看输出结果,并思考为什么
4. 从键盘输入一个整数,输出其绝对值(采用两个if语句实现)
#include <>
main() {
int i;
scanf("%d",&i);
if(i>=0)
printf("i=%d\n",i);
if(i<0)
printf("i=%d\n",-i);
}
5. 从键盘输入一个整数,输出其绝对值(采用if——else语句实现)
#include <>
main()
{
int i;
scanf("%d",&i);
if(i>=0)
printf("i=%d\n",i);
else
printf("i=%d\n",-i);
}
6. 从键盘输入年份,判断是不是闰年,如果是,输出是闰年(上机考试重点)
#include <>
main()
{ int year;
scanf("%d",&year);
if((year%4==0&&year%100!=0)||year%400==0)
printf("%d是闰年",year);
else
printf("%d不是闰年",year);
}
7. 输入学生的高考成绩,成绩>=560,输出读一本,如果>=520,输出读二本,如果>=480输出读三本,否则输出读专科
C语言练习题及答案 3
C语言练习题及答案
单项选择题:
1.( A )是构成C语言程序的基本单位。
A、函数 B、过程 C、子程序 D、子例程
2.C语言程序从 开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数
C) 程序中的main函数 D) 包含文件中的第一个函数
3、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main( )函数中定义
C、C语言程序总是从main( )函数开始执行
D、C语言程序中的main( )函数必须放在程序的开始部分
4.下列关于C语言的说法错误的是( B) 。
A) C程序的工作过程是编辑、编译、连接、运行
B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环
D) C程序从main函数开始执行
5.下列正确的标识符是(C )。
A.-a1 B.a[i] C.a2_i D.int t
6.下列C语言用户标识符中合法的是( B )。
A)3axB)xC)caseD)-e2 E)union
7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B)a+b C) a123 D) 123
8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。
A、print _3ddb8 aBc B、Iam one_half start$it 3pai
C、str_1 Cpp pow while D、Pxq My->book line# His.age
9.C语言中的简单数据类型包括(D )。
A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型
C、整型、字符型、逻辑型D、整型、实型、字符型
10.在C语言程序中,表达式5%2的结果是
A)2.5 B)2C)1D)3
11.如果int a=3,b=4;则条件表达式"a
C语言试题及答案解析
C语言
一、 选择题(第题2分,共20分)
1. 一个C程序的执行是从 A 。
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C) 本程序文件的第一个函数开始,到本程序main函数结束
D) 本程序的main函数开始,到本程序文件的最后一个函数结束
2. 若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。
x=(i=4,j=16,k=32)
A) 4 B) 16 C) 32 D) 52
3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。
A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647
4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。
A) float B) char C) int D) double
5. putchar函数可以向终端输出一个
D 。
A) 整型变量表达式 B) 实型变量值
C) 字符串 D) 字符或字符型变量值
6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。
A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出
C) 右对齐输出该字符串,左补空格 D) 输出错误信息
7. 判断char型变量ch是否为大写字母的正确表达式是 C 。
A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’)
C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)
8. 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。
C语言基础练习题及答案
《C语言程序设计》习题篇
第一章 C语言基础知识
1.1 选择题
1. 以下不是C语言的特点的是( D)。
A、语言简洁紧凑
B、能够编制出功能复杂的程序
C、C语言可以直接对硬件操作
D、C语言移植性好
2. 下列字符序列中,不可用作C语言标识符的是(B )。
A.abc123 B.no.1 C._123_ D._ok
3. 正确的C语言标识符是 (A )。
A._buy_2 B.2_buy C.?_buy D.buy?
4. 请选出可用作C语言用户标识符的一组标识符( C)。
A.void B.a3_b3 C.For D.2a
define _123 -abc DO
WORD IF Case sizeof
5. 下列符号中,不属于转义字符的是( B)。
A.\\ B.\0xAA C.\t D.\0
6. 不属于C语言关键字的是( D)。
A.int B.break C.while D.character
7. 是C语言提供的合法关键字的是(B )。
A.Float B.signed C.integer D.Char
8. 以下不能定义为用户标示符的是( )。
A.scanf B.Void C._3com_ D.int
