VC试题训练

更新时间:2023-11-26 06:58:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

吉林师范大学计算机C语言题库专项练习(内部资料)

一、选择题(15分)

1.C语言提供的合法的关键字是___________。

A.Char B.max C.switch D.Default

2.在C语言中,合法的字符常量是___________。

A.‘\\0Xff’ B.’\\65’ C.‘ab’ D.‘\\082'

3.若有double x=2,y;则表达式y=x+5/2的值是___________。 A.3 B.4 C.4.5 D.4.0

4.设a为整型变量,不能正确表达数学关系13≤a≤16的C语言表达式是___________。

A.1212&&a<17 D.!(a<13||a>16)

5.在以下一组运算符中,优先级最高的运算符是___________。 A.>= B.= C.++ D.&&

6.设有int x=1,y=1,z=1,c;则执行语句c=--x&&--y||--z;后,x,y,z的值分别为__________ A.0,1,1 B. 0,1,0 C. 1,0,1 D. 0,0,1

7.下列句子中,错误的C语句是___________。

A.n++; B.for(,,); C.a=1,b=2,c=3; D.while(1);

8.以下不致造成死循环的语句是__________ A. for(y=0,x=1;x>++y;x=i++) i=x; B. for(;;x+=i); C. while(x=8)x--;

D. for(i=10;sum=0;sum<=i)sum=--i;

9.下面关于break语句描述正确的是__________。 A. 只能用在循环体内或switch语句中

B. 可用作函数内的任一语句 C. 只能用在循环体内

D. 用在能出现语句的任何地方

10.下列叙述中,错误的一条是__________。

A. 主函数main中定义的变量在整个文件或程序中都有效 B. 不同函数中,可以使用相同名字的变量 C. 形式参数是局部变量

D. 在一函数内部,可在复合语句中定义变量,这些变量只在本复合语

句中有效

11.有关宏定义的正确说法是__________。 A. 可出现在一行中的任何位置

B. 只能放在程序的开头,且每一个宏定义单独占一行 C. 可出现在程序的任何位置

D. 以#开头的行,可出现在程序的任何位置,通常每一个宏定义只能单

独占一行,使用字符”\\”可实现一个宏定义占用若干行

12.若有以下语句:

static char x[]=”12345”;

static char y[]={‘1’,’2’,’3’,’4’,’5’};则正确的说法是_________

A.x数组和y数组的长度相同 B.x数组长度大于y数组长度 C.x数组长度小于y数组长度 D.x数组等价于y数组

13.设有char s[]=”Program”,*p=s;则以下叙述中正确的是__________

A. 数组s的内容与指针p中内容相同 B. 数组s的长度与strlen(p)的值相等 C. p[5]的值等于s[5]的值 D. sizeof(s)等于sizeof(*p)

14.以下能将字符串”good!”正确地存放在字符数组s中,或使指针s能指向这个字符串的是____________。

A. char s[4]={‘g’,’o’,’o’,’d’,’!’}; B. char s[5]; s=”good!”;

C. int s[5]=”good!”; D. char *s;s=”good!”;

15.以下说法中正确的是___________ A. 一个结构只能包含一种数据类型

B. 不同结构中的成员不能有相同的成员名 C. 两个结构变量不可以进行比较

D. 关键字typedef用于定义新的数据类型

二、简答题(15分)

1.++x和x++功能是否相同?

2.声明函数do_it()和print_num(),要求:

1) do_it函数返回类型为float,有三个char形参。 2)print_num不返回值,形参是一个整型。

3.分别用for、while、do-while三种形式写出求1+4+7+10+?(100以内)的和。

三.阅读程序,写出运行结果(20分)

1.main()

{ int x=1,a=3,b=3;

switch(x){

case 0:b++; case 1:a++;

case 2:a++;b++; }

printf(\

}

2.#define X 5 #define Y X+1 #define Z Y*X/2 void main() { int a;a=Y;

printf(\}

3.fun(int n); main() { printf(\

fun(int n) {

if(n==1)return 1;

return n-fun(n-1);

}

4. main()

{ static int s[2][2]={{12},{14,16}};

int *ptr=s[0];

printf(“%d %d \\n”,*(ptr+1),*(ptr+2)); }

四、程序填空(10分)

23x完成下列程序,函数g的功能是计算级数1+x+x+x+?+的值,当通项

n!2!3!n的绝对值小于eps时计算停止。(10分)

#include

float g(float x,float eps);

main()

{ float x,eps;

scanf(“%f%f”,&x,&eps);

printf(“\\n%f,%f”,x,g(x,eps)); }

float g(float x,float eps) { int n=1;float s,t; s=1;t=1; do

{ t=t*________; s=s+t;

_________;

}while(__________>eps); return s; }

五、改错题(10分)

有一个一维数组a[10],本程序分别求其最大元素、最小元素及其下标,并求出所有元素之和。以下是含有错误的源程序,修改时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删除整条语句。 #include #define N 10.0 main()

{ static int a[N]={8,5,6,9,-1,4,78,2,0,3}; int i,max,column1,min,column2,sum=0; for(i=0;i

printf(\ printf(\

max=0; column1=0; min=0; column2=0; for(i=0;i

{ if(max=a[i]){max=a[i]; column1=i;} if(min=a[i]){min=a[i]; column2=i;}

}

for(i=1;i

printf(\

}

printf(\printf(\

六、编程题(30分)

1.对于分段函数 3x-1 (x<5)

3x (5≤x≤10) y=

x3+1 (x>10)

写一程序输入x,输出对应的y值。

2.写出一函数,判断某一数是否为素数,若是则返回1,否则返回0。

3.求满足条件 abcd=(ab)*(ab)+(cd)*(cd)的所有四位数。例如,a=8,b=8,c=3,d=3为满足条件的四位数,即8833=88*88+33*33。 要求:

1)输出结果到文件FILE.out中。

2)数据文件的打开,使用,关闭用缓冲文件系统方式操作实现。

}

printf(\printf(\

六、编程题(30分)

1.对于分段函数 3x-1 (x<5)

3x (5≤x≤10) y=

x3+1 (x>10)

写一程序输入x,输出对应的y值。

2.写出一函数,判断某一数是否为素数,若是则返回1,否则返回0。

3.求满足条件 abcd=(ab)*(ab)+(cd)*(cd)的所有四位数。例如,a=8,b=8,c=3,d=3为满足条件的四位数,即8833=88*88+33*33。 要求:

1)输出结果到文件FILE.out中。

2)数据文件的打开,使用,关闭用缓冲文件系统方式操作实现。

本文来源:https://www.bwwdw.com/article/bjnt.html

Top