C语言程序设计复习题二
一.单项选择题
1.按照C语言的规定,能作为用户标识符的是()。
A)int B)5a C)abc_123 D)unsigned
2.编译操作的功能是把源程序转换成()。
A)源程序 B)目标程序 C)可执行程序 D)汇编程序
3.定义下面语句,编译会出错的是()。
A)char a='x'; B)char a='\t'; C)char a='cc'; D)char a='\101';
4.以下选项中正确的定义语句是()。
A)double x; y; B)double x=y=7; C)double x=7, y=7; D)double, x, y;
5.若有定义int x, y;并已正确给变量赋值,则以下选项中与表达式(x-y) ? (x++): (y++)中的条件表达式(x-y)等价的是()。
A)(x-y>0) B)(x-y<0) C)(x-y<0 || x-y>0) D)(x-y==0)
6.以下关于long、int和short类型数据占用内存大小的叙述中正确的是()。
A)均占4个字节 B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义 D)由C语言编译系统决定
7.设有定义:int x=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。
A)x++ B)x+=1 C)++x D)x+1
8.若有定义语句:int x=10;,则表达式x-=x+x的值为()。
A)-20 B)-10 C)0 D)10
9.有以下程序
void main()
{ int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);}
程序运行后的输出结果是()。
A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1
10.以下叙述中正确的是()。
A)C语言是一种非结构化程序设计语言
B)结构化程序有顺序、分支、循环三种基本结构组成
C)使用三种基本结构构成的程序只能解决简单问题
D)结构化程序设计不提倡模块化的设计方法
11.有以下程序
#include <stdio.h>
void main()
{ char e1,e2;
e1=’A’+’8’-‘4’;
e2=’A’+’8’-‘5’;
printf(“%c,%d\n”,e1,e2);
}
已知字母A的ASCII码为65,程序运行后的输出结果是()
A)E,68 B)D,69 C)E,D D)输出无定值
12.有以下程序
void main()
{ int a=0,b=0;
a=10; /*给a赋值
b=20; 给b赋值*/
printf("a+b=%d\n",a+b);}
程序运行后输出结果是()。
A)a+b=10 B)a+b=30 C)30 D)出错
13.有以下程序
#include <stdio.h>
void main()
{ int a=1,b=0;
printf(“%d,”,b=a+b);
printf(“%d\n”,a=2*b);
}
程序运行后的输出结果是()。
A)0,0 B)1,0 C)3,2 D)1,2
14.执行以下程序段后,w的值为()。
int w='A', x=14, y=15;
w=((x || y)&&(w<'a'));
A)-1 B)NULL C)l D)0
15.当y表示大于1的奇数时,值为0的表达式是()。
A)y%2==1 B)y/2 C)y%2!=0 D)y%2==0
16.有以下程序段
int a, b, c;
a=10; b=50; c=30;
if (a>b) a=b, b=c; c=a;
printf("a=%d b=%d c=%d\n”, a, b, c);程序的输出结果是()。
A)a=10 b=50 c=10 B)a=10 b=50 c=30 C)a=10 b=30 c=10 D)a=50 b=30 c=50
17.当变量c的值不为2、4、6时,值也为“真”的表达式是()。
A)(c==2)||(c==4)||(c==6)
B)(c>=2&&c<=6)||(c!=3)||(c!=5)
C)(c>=2&&c<=6)&&!(c%2)
D)(c>=2&&c<=6)&&(c%2!=1)
18.以下叙述中错误的是()。
A)break语句只能用于switch语句中
B)在switch语句中可以不使用default
C)break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用不相同
19.有以下程序
#include <stdio.h>
void main()
{ int i,j,m=55;
for(i=1;i<=3;i++)
for(j=3;j<=i;j++) m=m%j;
printf("%d\n",m);}
程序的运行结果是()。
A)0 B)1 C)2 D)3
20.有以下程序
#include<stdio.h>
void main()
{ int i, j;
for(i=3; i>=1; i--)
for(j=1; j<=2; j++)
printf("%d", i+j);
}
程序的运行结果是()。
A)2 3 4 B)4 3 2 3 4 5 5 4 3 C)2 3 D)4 5 3 4 2 3
21.以下关于字符串的叙述中错误的是()。
A)C语言中没有字符串类型的常量和变量
B)两个字符串中的字符个数不相同时,也能进行字符串大小的比较
C)不能简单用关系运算符对字符串的大小进行比较
D)空串不一定比空格打头的字符串小
22.若有定义语句:int n[]={5,4,3,2,1},i=4;,则下面对n数组元素的引用中错误的是()。
A)n[--i] B)n[2*2] C)n[n[0]] D)n[n[i]]
23.若有定义语句:char s[10]="abcdefgh\0\0";,则strlen(s)的值是()。
A)11 B)10 C)9 D)8
24.有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是()。
A)gets(&s[0]); B)scanf(“%s”,s+1); C)gets(s); D)scanf(“%s”,s[1]);
25.函数调用func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8)));语句中,func函数的实参个数是()
A)3 B)4 C)5 D)8
26.若函数调用时的实参为普通变量时,以下关于函数形参和实参的叙述中正确的是()。
A)函数的实参和其对应的形参共占同一存储单元
B)形参只是形式上的存在,不占用具体存储单元
C)同名的实参和形参占同一存储单元
D)函数的形参和实参分别占用不同的存储单元
27.以下叙述中正确的是()。
printf函数的作用是向终端A)C程序是由一个或一个以上的函数组成
B)函数调用不可以作为一个独立的语句存在
C)C程序的基本构成单位是语句
D)C函数必须有形式参数
28.在C函数的定义和调用中,下面描述正确的是()。
A)函数的定义可以嵌套,函数的调用不可以嵌套
B)函数的定义不可以嵌套,函数的调用可以嵌套
C)函数的定义和调用都不可以嵌套
D)函数的定义和调用都可以嵌套
29.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则不能正确执行的语句是()。
A)scanf("%d",&a);
B)scanf("%d%d%d",&a,&b,&c);
C)scanf("%d",p);
D)scanf("%d\n",p);
30.以下关于指针变量的说法中,错误的是()。
A)定义指针变量时,必须指定基类型
B)定义指针变量时,可以先不指定基类型
C)一个指针变量,只能指向同类型的变量
D)指针变量的值是地址
31.十进制正整数17的二进制表示形式为( )。
A)10010001 B)00010001 C)11101110 D)00001111
32.不属于十进制小数合法表示形式的是( )。
A)0.123 B)-12.35 C).98 D)42
33.用户定义的标识符命名规则不包括( )。
A)标识符只能由英文字母、数字、下划线组成。
B)标识符必须以字母或下划线开头。
C)允许使用C关键字为标识符命名。
D)标识符包含字符长度一般会有最大长度限制,与编译器相关。
34.不能正确完成变量赋值的是( )。
A)int a, b, c;
a=0;
b=0;
c=0;
B)int a, b, c;
a=b=c=0;
C)int a=0, b=0, c=0;
D)int a=0; b=0; c=0;
35.C语言中,1/2与1.0/2的结果分别是( )。
A)0,0.5 B)0.5,0 C)0,0 D)0.5,0.5
36:程序
#include <stdio.h>
void main()
{
int n=3;
printf("%d", n++);
printf("%d", ++n);
}
的输出结果是( )。
A)35 B)45 C)34 D)44
37.已知
#include <stdio.h>
第2行
void main()
{
double r;
printf("Input r:");
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论