华北电力大学c语言考试参考卷

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华北电力大学c语言考试参考卷
本试题为参考卷,但是考试范围、考试题型绝对一致!
一、选择题:
1、一个C程序的执行是从( A )。

A)本程序的main函数开始,到main函数结束;
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束;
C)本程序的main函数开始,到本程序文件的最后一个函数结束;
D)本程序文件的第一个函数开始,到本程序main函数结束.
2. 下列变量定义正确的是( D ).
A)int x_1 ; y; B)int x=y=5 ;
C)int for=4; D)int x_y=2;
3. 算法具有五个特性,以下选项中不属于算法特性的是 (B ).
(A)有穷性 (B)简洁性 (C)可行性 (D)确定性
4. C语言中运算对象必须是整型的运算符是(A ).
A) %= B) / C) = D) 〈=
5. 假设所有变量均为整型,则表达式(a=2,b=5,b+ +,a+b)的值是( B )。

A) 7 B) 8 C) 6 D) 2
6. 以下正确的函数说明是 ( C )。

A)float add(int x,y) B)int add(int x int y) C)char add( ) D)int add(char x[ ] [ ]) 9.下列程序的输出结果是( C )
# include
void main
{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
printf("%d",*--p);
}
A)非法 B)a[4]的地址 C)5 D)3
10.以下程序的输出结果是( C )
# include
void main()
{ int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A)258 B) 741 C) 852 D) 369
11. 以下程序的输出结果是( ).
# include
void main( )
{ int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d%d ",x--,y);
}
A)10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 91
12. 下列程序的运行结果是( )
# include
void fun(int *a, int *b)
{ int *k;
k=a; a=b; b=k;
}
void main()
{ int a=3, b=6, *x=&a, *y=&b
fun(x,y);
printf("%d %d", a, b);
}
A) 6 3 B) 3 6 C) 编译出错 D) 0 0
13. 以下数组定义中不正确的是( B )
A) int a[2][3];
B) int b[][3]={0,1,2,3};
C) int c[100][100]={0};
D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
16. 以下程序的输出结果是 ( A)
A) #*#*# B) ##### C) ***** D) *#*#*
# include
void main( )
{ int i;
for(i=1;i<6;i++)
{ if(i%2){printf("#");continue;}
printf("*");
}
printf("\n");
}
18.假如指针p1已经指向某个整型变量,要使指针p2也指向同一个变量,哪一个语句是正确的( C )。

A)p2=&p1 B)p2=**p1; C)p2=&*p1; D)p2=*p1;
19. 有以下程序 ( A )
# include
void main()
{char s[]="159",*p;
p=s;
printf("%c",*p++);printf("%c",*p++);
}
程序运行后的输出结果是
A)15 B)16 C)12 D)59
20.以下符合C语言语法的实型常量是( C).
A)1.2E0.5 B)3.14.159E C).5E-3 D)E15
21.若有定义char x[ ]= "12345"; char y[ ]={ '1', '2', '3', '4', '5'};则 B 。

A)x数组与y数组的长度相同B)x数组长度大于y的长度
C)x 数组长度小于y数组长度D)x数组等价与y 数组
22. 如果用户的程序中要使用C库函数中的字符串函数时,应在该源文件中使用的include 命令是( A)。

A)#include B)#include
C)#include D)#include
24. 设有如下程序段,下面描述中正确的是(C )。

int k=10; while(k=0) k=k-1;
A循环执行一次B循环是无限循环
C循环体语句一次也不执行D循环体语句执行一次
26.已知整型变量a,b已经正确定义并且有确切的数值,请问以下那一项不能正确将变量a,b的数值互换( C )
A)int t;t=a;a=b;b=t; B)int t; t=b;b=a;a=t;
C)int t;a=t;t=b;b=a; D)a=a+b;b=a-b;a=a-b;
27.以下不正确的语句(设有int p,q)是(D )
A)p*=3 B) p/=q C) p+=3 D) p&&=q
28.以下使i的运算结果为4表达式是(D )
A) int i =0 , j=0 ; B) int i=1 , j=0 ;j= i =((i=3)*2) ;
C) int i=0 , j=1 ; (j= =1) ?(i=1):(i=3)D)int i=1 , j=1 ; i+ = j+ =2 ;
二、填空
1.已知a=3、b=2,则表达式a*=b+8的值是(30 )。

2.以下程序的输出结果是( 20 ).
# include
void main( )
{ int n=4;
while(n--)printf("%d ",--n);
}
3.运行以下程序,若输入:6 2<回车>时,写出程序的输出结果(x=2,y=6 )。

#include
void fun(int *p1, int *p2)
{ int t;
t=*p1; *p1=*p2; *p2=t;
}
void main( )
{ int x,y;
int *p1,*p2;
scanf("%d %d",&x,&y);
p1=&x p2=&y
if(x>y) fun(p1,p2);
printf("x=%d,y=%d", x, y);
}
4定义int x ,y ,执行y=(x=1 ,++x , x+2) ; 语句后,y的值是______4______。

5.设int a=1,b=2 ,c=3 , d;执行d=! (a+b+c)后,d 的结果是_____0________。

6.int * p;int a[3]={1,2,3};p=&a[1];(假设p的数值为1000H),p++;请问现在p的数值为_1004H___,*p的内容为__2__。

编程题目:
编程题目顺序选择循环各一个题目
以下部分是历年考试题目,请大家参考:
05年4月
1、以下选项中可作为C语言合法常量的是_A____。

A)-80. B)-080 C)-8e1.0 D)-80.0e
(13)以下叙述中正确的是_C__。

A)用C程序实现的算法必须要有输入和输出操作
B)用C程序实现的算法可以没有输出但必须要输入
C)用C程序实现的算法可以没有输入但必须要有输出
D)用C程序实现的算法可以既没有输入也没有输出
2、以下不能定义为用户标识符的是_D___。

A)Main B)_0 C)_int D)sizeof
3、以下选项中不能作为合法常量的是__B__。

A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0
4、数字字符0的ASCII值为48,若有以下程序
main()
{ char a='1',b='2 ';
printf("%c,",b++);
printf("%d\n",b-a);
}
程序运行后的输出结果是__C。

A)3,2 B)50,2 C)2,2 D)2,50
5、有以下程序
main()
{ int m=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}
A)12353514 B)12353513 C)12343514 D)12343513程序运行后的输出结果是__A____。

05年9月
1、以下叙述中错误的是A
A)用户所定义的标识符允许使用关键字
B)用户所定义的标识符应尽量做到“见名知意”
C)用户所定义的标识符必须以字母或下划线开头
D)用户定义的标识符中,大、小写字母代表不同标识
2、以下叙述中错误的是C
A)C语句必须以分号结束
B)复合语句在语法上被看作一条语句
C)空语句出现在任何位置都不会影响程序运行
D)赋值表达式末尾加分号就构成赋值语句
3、以下关于函数的叙述中正确的是C
A)每个函数都可以被其它函数调用(包括main函数)B)每个函数都可以被单独编译
C)每个函数都可以单独运行
D)在一个函数内部可以定义另一个函数
4、以下能正确定义且赋初值的语句是B
A)int n1=n2=10; B)char c=32;
C)float f=f+1.1; D)double x=12.3E2.5;
5、设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是C A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m
6、以下程序运行后的输出结果是【2,20.000000】。

main()
{ char c; int n=100;
float f=10; double x;
x=f*=n/=(c=50);
printf("%d %f\n",n,x);
}
06年4月
1、以下不合法的用户标识符是C
A)j2_KEY B)Double
C)4d D)_8_
2、以下不合法的数值常量是C
A)011 B)1e1
C)8.0E0.5 D)0xabcd
3、以下不合法的字符常量是A
A)′\018′B)′\"′
C)′\\′D)′\xcc′
4、表达式3.6-5/2+1.2+5%2的值是D
A)4.3 B)4.8
C)3.3 D)3.8
06年9月
1、下列叙述中错误的是____A____。

A)一个C语言程序只能实现一种算法
B)C程序可以由多个程序文件组成
C)C程序可以由一个或多个函数组成
D)一个C函数可以单独作为一个C程序文件存在
2、下列叙述中正确的是_____A___。

A)每个C程序文件中都必须有一个main()函数
B)在C程序中main()函数的位置是固定的
C)C程序可以由一个或多个函数组成
D)在C程序的函数中不能定义另一个函数
3、下列定义变量的语句中错误的是___C_____。

A)int _int;B)double int_; C)char For;D)float USS
4、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是___A_____。

A)++x,y=x--B)x+1=y C)x=x+10=x+y D)double(x)/10
07年4月
1、下列叙述中错误的是(D)
A)计算机不能直接执行用C语言编写的源程序
B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D)后缀为.obj和.exe的二进制文件都可以直接运行
2、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(B )
A)大写字母B)连接符C)数字字符D)下划线
3、以下叙述中错误的是(C )
A)C语言是一种结构化程序设计语言
B)结构化程序有顺序、分支、循环三种基本结构组成
C)使用三种基本结构构成的程序只能解决简单问题
D)结构化程序设计提倡模块化的设计方法
4、对于一个正常运行的C程序,以下叙述中正确的是(A )
A)程序的执行总是从main函数开始,在main函数结束
B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束
D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
5、设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A )A)k++ B)k+=1 C)++k D)k+1
6、以下选项中,当x为大于1的奇数时,值为0的表达式(D)
A)x%2==1 B)x/2 C)x%2!=0 D)x%2==0
7、执行以下程序后的输出结果是14 。

main()
{int a=10;
a=(3*5,a+4); printf(“a=%d\n”,a); }。

相关文档
最新文档