C语言知识点及题型集
一、 单项选择题
1. 基础知识
1、以下说法中正确的是( )
A、C语言程序总是从第一个的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义 C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分 答案:C
2、下列字符序列中,可用作C标识符的一组字符序列是( )。
A) S.b,sum,average,_above B) class,day,lotus_1,2day C) #md,&12x,month,student_n! D) D56,r_1_2,name,_st_1 答案:D
3、以下标识符中,不能作为合法的C用户定义标识符的是()。 A) a3_b3 B) void C) _123 D) IF 答案:B
4、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D) A、 6.500000 B、 6 C、 5.500000 D、 6.000000 5、以下的选择中,正确的赋值语句是()。
A) a=1,b=2 B) j++ C) a=b=5; D) y=int(x) 答案:C
6、在C语言中,能代表逻辑值“真”的是()。
A) True B) 大于0的数 C) 非0整数 D) 非0的数 答案:D
7、下列程序的输出结果是()。 main()
{char c1=97,c2=98; printf(\}
A) 97 98 B) 97 b C) a 98 D) a b 答案:B
8、执行下列语句后变量x和y的值是()。 y=10;x=y++;
A) x=10,y=10 B) x=11,y=11 C) x=10,y=11 D) x=11,y=10 答案:C
9、设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为()。 A) 12 B) 144 C) 0 D) 132 答案:C
10、已知year为整型变量,不能使表达式(year%4==0&&year0!=0)||year@0==0的值为“真”的数据是()。
A) 1990 B) 1992 C) 1996 D) 2000 答案:A
11、下列程序的输出结果是()。 main()
{int a=7,b=5;
printf(\}
A) 0 B) 5 C) 1 D) 不确定值 答案:A
12.以下关于运算符优先顺序的描述中正确的是( )。 A) 关系运算符<算术运算符<赋值运算符<逻辑运算符 B) 逻辑运算符<关系运算符<算术运算符<赋值运算符 C) 赋值运算符<逻辑运算符<关系运算符<算术运算符 D) 算术运算符<关系运算符<赋值运算符<逻辑运算符 答案:C
13、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( ) A、scanf(\
B、scanf(\、scanf(\ D、scanf(\答案:C
14 有以下程序 #include
{ char c1,c2;
c1=?A?+?8?-?4?; c2=?A?+?8?-?5?;
printf(“%c,%d\\n”,c1,c2); }
已知字母A的ASCII码为65,程序运行后的输出结果是( ) (A) E,68 (B) D,69 (C) E,D (D)输出无定值 答案:A
15、若有以下类型说明语句:char w; int x; float y; double z;则表达式 w*x+z-y 的结果类型是( )
A、float B、char C、int D、double 答案:D
16、关于局部变量,下列说法正确的是 ( )。 A、 定义该变量的程序文件中的函数都可以访问。
B、 定义该变量的函数中的定义处以下的任何语句都可以访问。 C、 定义该变量的复合语句的定义处以下的任何语句都可以访问。 D、 局部变量可用于函数之间传递数据。 答案:D
17.若变量已正确说明为float类型,要通过语句scanf(\%f %f \给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:( )
A) 10<回车> B) 10.0,22.0,33.0<回车> 22<回车> 33<回车>
C) 10.0<回车> D) 10 22<回车> 22.0 33.0<回车> 33<回车> 答案:B 2.三大结构
(1) 下列程序的运行结果是( ) #include
char c1 = '6', c2 = '0';
printf(\}
A.因程序格式不合法,提示出错信息 B.6,0,6 C.6,0,7 D.6,0,5
(2) 下列程序的运行结果是( ) #include
double x = 2.0, y; if(x<0.0) y = 0.0;
else if(x<10.0) y = 1.0/x; else y = 1.0; printf(\ }
A.0.000000 B.0.250000 C.0.500000 D.1.000000
(3) 下列程序的运行结果是( ) #include
int a = 2, b = -1, c = 2; if( b < 0) c = 0; else c = c + 1; printf(\}
A.0 B.1 C.2 D.有语法错误
(4) 下列程序的运行结果是( ) #include
{
int a = 100;
if( a > 0) printf(\ else printf(\ }
A.0 B.1 C.100 D.-1
(5) 下列程序的运行结果是( ) #include
int x = 1, a = 0, b = 0;
switch(x) { case 0: b = b + 1; case 1: a = a + 1; case 2: a = a + 1; b = b + 1; }
printf(\ }
A.a=2,b=1B.a=1,b=1 C.a=1,b=0 3.函数
A. double fun(int x,int y) B. double fun(int x; int y) C. double fun(int x, int y); D. double fun(int x,y) 答案:A
D.a=2,b=2
1.以下正确的函数定义形式是( )。
2. C语言中,简单变量作为实参时,它和对应形参之间的数据传递方式是( )。 A. 地址传递 答案:B
3. 在C语言程序中以下正确的描述是( )。 A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和函数的调用均不可以嵌套 D. 函数的定义和函数的调用均可以嵌套
B. 单向值传递
C. 由实参传递给形参,再由形参传递给实参 D. 由用户指定传递方式
相关推荐: