一、 选择题
1.下列叙述中错误的是(B )。
A算法正确的程序最终一定会结束。
B算法正确的程序可以有零个输出。
C算法正确的程序可以有零个输入。
D算法正确的程序对于相同的输入一定有相同的结果。
2.下列叙述中错误的是(D )。
A C程序必须由一个或一个以上的函数组成。
B函数调用可以作为一个独立的语句存在。
C若函数有返回值,必须通过return语句返回。
D函数形参的值也可以传回给对应的实参。
3.下列叙述中错误的是( A)。
A用户定义的标示符允许使用关键字。
B用户定义的标示符应做到“见名知意”。
C用户定义的标示符必须以字母或下划线开头。
D用户定义的标示符中大、小写字母代表不同标示。
4.下列关于函数的叙述正确的是( B)。
A每个函数都可以被其他的函数调用(包含main函数)。
B每个函数都可以被单独编译。
C每个函数都可以单独运行。
D在一个函数内部可以定义另一个函数。
5.下列不合法的用户标示符是( C)。
A j2_key
B _int
C 4d
D _8_
6下列定义变量的语句中错误的是( D)。
A int _int;
B double int_;
C char for;
D float us$;
7按照C语言规定的用户标示符命名规则,不能出现在标示符中的是( B)。
A 大写字母
B 连字符
C 数字字符
D 下划线
8对于一个正常运行的C程序,下列叙述正确的是( A)。
A程序的执行总是起止于main函数。
B程序的执行总是从第一个函数开始,结束于main函数
C程序的执行总是从main函数开始,在最后一个函数结束
D程序的执行总是从第一个函数开始,在最后一个函数结束
9下列叙述正确的是(C )。
A C语言程序从源程序中第一个函数开始执行
B可以在程序中由用户指定一个函数作为主函数,程序将从此开始执行
C  C语言规定必须用main作为主函数名,程序从此开始执行,在次结束
D main可作为用户标示符,可以命名任意一个函数作为主函数
10下列叙述正确的是(C )。
A C程序中的注释只能出现在程序的开始位置
B C程序书写格式严格,要求一行只能写一个语句
C C程序书写格式自由,一行可以写多条语句
D用C语言编写的程序只能放在一个程序文件中
11下列不合法的数值常量是(C )。
A 011
B 1e1
C 8.0e0.5
D 0xabc
12可在C程序中用作用户标识符的一组是(A )。
A and  _2007
B date  y-m-d
C hi    dr.tom
D case  big1
13下列关于long、int和short类型数据占用内存大小的叙述正确的是(D )。
A均占4个字节
B根据数据的大小来决定所占内存的字节数
C由用户自己定义
D由C语言编译系统决定
14设变量已正确定义并赋值,以下正确的表达式是( C)。
A x=y*5=x+z
B int(15.8%3)
C x=y+z+3,++y
D x=25%5.0
15设有定义:int k=1;float f=7;则下列选项中错误的表达式是( C)。
A k=k>=k
B -k++
C k%int(f)
D k>=f>=m
16表达式3.6-5/2+1.2+5%2的值是(D )。
A 4.3
B 4.8
C 3.3
D 3.8
17下列叙述中错误的是(D )。
A C程序中的#include和#define行均不是C语句
B 除逗号运算符外,赋值运算符的优先级最低
C C程序中,j++;是赋值语句
D C程序中,+、-、*、%是算术运算符,可用于整型数和实型数的运算
18下列选项中,当x为大于1的奇数时,值为0的表达式是(D )。
A x%2==1
B x/2
C x%2!=0
D x%2==0
19下列叙述中错误的是(C )。
A C语句必须以分号结束
B复合语句在语法上被看作一条语句
C空语句出现在任何位置都不会影响程序运行
D赋值表达式加上分号就构成赋值语句
20下列正确定义且赋初值的语句是(B )。
A int n1=n2=10;printf输出格式%b
B char c=32;
C float f=f+1.1;
D double x=12.3E2.5
21若变量已正确定义并赋值,下列合法的语句是( A)。
A x=y==5
B x=n%2.5
C x+n=i
D x=5=1+4
22以下定义正确的是(B )。
A int  a=b=0;
B char A=65+1,b='b';
C float a=1,"b=&a,"c=&b;
D double a=0.0;b=1.1;
23有下列程序:
*main()
*{char a1='M',a2='m';
*printf("%c\n",(a1,a2));
*}
下列叙述正确的是( B)。
A程序输出M
B程序输出m
C格式说明符不足,编译出错
D程序运行时产生出错信息
24有下列程序:
*main()
*{int x,y,z;
*x=y=1;
*z=x++,y++,++y;
*printf("%d,%d,%d\n",x,y,z);
*}
*程序运行的结果是(C )。
A 2,3,3
B 2,3,2
C 2,3,1
D 2,2,1
25设有定义:int k=0;下列选项的4个表达式中与其他3个表达式的值不同的是( A)。
A k++
B k=k+1
C ++k
Dk+1
26在C语言中,以下说法不正确的是(A )。
A在C程序中,整数和实数都能被准确无误的表示出来
B在C程序中,任何一个变量名都代表存储器的一个位置
C静态变量的生存周期与整个程序的运行期相同
D C语言中,任何变量都必须先声明才能进行引用
27若有以下定义和语句:
*int a=010,b=0x10,c=10;
*printf("%d,%d,%d\n",a,b,c);
*则输出结果是(D )。
A 8,10,10
B 10,10,10
C 8,8,10
D 8,16,10
28设C语言中,float类型数据占4个字节,则double类型数据占( C)个字节。
A1  B2  C8  D4
29以下正确的实型常量(B )。
A E3.4
B -12345
C 2.2e0.8
D 4
30设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是( B)。
A 0~255
B 0~65535
C -32768~32767
D -256~255
31设a和b均为int型变量,且a=6,b=11,则能使值为3的表达式是(D )。
A b%(a%4)
B b%(a-a%5)
C b%a-a%5
D (b%a)-(a%4)
32已定义变量a为整型,则不能正确表示9<a<14的表达式是( A)。
A !(9<a&&a<14)
B a==10||a==11||a==12||a==13
C a>9&&a<14
D !(a<=9)&&!(a>=14)
33以下程序运行的结果是(A )。
*#include<stdio.h>
*main()
*{int a=3,b=4,c=8,d=4,m=1,n=3;
*printf("%d\n",(m=a>b)&&(n=c>d))
*}
A 0  B1 C2 D3
34能正确表示“当x的取值范围在[1,10]和[100,110]范围内为真,否则为假”的表达式是(C )。
A (x>=1)&&(x<=10)&&(x>=100)&&(x<=110)
B (x>=1)||(x<=10)||(x>=100)||(x<=110)
C (x>=1)&&(x<=10)||(x>=100)&&(x<=110)
D (x>=1)||(x<=10)&&(x>=100)||(x<=110)
35若有定义:int a=4,b=5;float x=3.4,y=2.1;则下面表达式的值为(C )。
*(float)(a+b)/2+(int)x%(int)y
A 5.5
B 55
C 5.500000
D 55.00000
36若a为int型变量,则执行以下语句后,a的值为(B )。
*a=5;a+=a-=a*a;
A 25
B -40
C 40
D -14
37若已定义x和y为整型变量,且x=7,则表达式y=2.3+x/2的值是( B)。
A 6
B 5
C 5.0
D 6.0
38有以下程序:
*main()
*{int y=1,x=2,z=3;
*printf("%d,%d\n",(++x,y++),z+2);
*}
*执行后的输出结果是( D)。
A 3,5
B 2,5
C 3,3
D 1,5
39以下程序的输出结果是( D)。
*main()
*{int a=1,b=2;
*printf("%d,%d\n",--a,++b);
*}
A 1,2
B 1,3
C 0,2  D 0,3
40 C语言程序的执行是(A )。
A 从程序的主函数开始,到程序的主函数结束
B 从程序的主函数开始,到程序的最后一个函数结束
C 从程序的第一个函数开始,到程序的最后一个函数结束
D从程序的第一个函数开始,到程序的主函数结束
41下面说法正确的是(C )。
A 一个C程序可以有多个函数
B一个C语言的函数中只允许有一对花括号
C C语言一个语句可以写在一行内,也可以写在多行内
D在对C程序进行编译时,可以发现注释行中的拼写错误
42以下说法正确的是( C)。
A C程序是以函数为基本单位的,整个程序由函数组成
B C语言程序的一条语句可以写在不同的行上
C C程序的注释行对程序运行不起作用,所以注释应该尽可能少写
D C程序的每个语句都以分号结束
43以下标示符不是关键字的是( C)。
A break
B char
C Switch
D return
44若要求定义具有10个int型元素的一维数组a,则下列定义语句中错误的是( D)。
#define N 10
*int a[N]
#define n 5
*int a[2*n]
int a[5+5]
int n=10,a[n]
~D
45下设有如下程序段
*char s[20]="Beijing",*p;
*p=s;
*则执行p=s;语句后,以下叙述正确的是(A )。
A 可以用*p表示s[0]
B s数组中元素的个数和p所指字符串长度相等
C s和p都是指针变量
D 数组s中的内容和指针变量p中的内容相同

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。