您好!欢迎访问北方工业大学招生网!

首页 > 正文

C语言程序设计参考题目

发布日期:2015-11-26  来源:   点击量:

参考试题

第一部分 基本知识部分(每题1分,共10分)

1. 语言的四大数据类型为是______________________

2. 在一个源程序文件中定义的全局变量的作用域为:_______________________

3. 表达式3*7%2+7%2*5的值为______________________

4. 如果利用数组名字作为函数调用的参数,则实际上传递给形参的是____________

5.一个C语言程序总是从__________开始执行。

6. int a[ ] [3]={1,2,3,4,5,6,7},其中数组第一维的元素个数为___________

7.判断两个字符串str1和str2是否相等的库函数为_____________

8.内存动态分配的库函数为___________________

9.取地址运算符为________, 取内容运算符为______________

10.C语言源文件的扩展名为_______, 可执行文件的扩展名__________.

第二部分 知识鉴别(每题2分,共30分)

1. 在C语言中,数字029是一个( )

A:八进制数 B:十六进制数

C:十进制数 D:非法数

2.已知:int I; float f;则正确的语句是( )

A:(int f)% I B: int (f) %I

C: int (f%I) D: (int)f% i

3.已知:char a;int b;float c;double d;执行语句c=a+b+c+d后,变量c的数据类型为( )

A: int B: char

C: float D:double

4.int n,I=1,j=2;执行语句n=I

A:1,2 B:1,3

C:2,2 D :2,3

5.C语言对嵌套if语句的规定是:else总是和( )配对。

A:与之前最近的一个if B:第一个if

C:最后一个if D:之前最近的尚未配对的if

6.下面的语句for(x=0,y=0;(y!=123)&&(x<4 );x++)

A:是无限循环 B:循环次数不定

C:执行4次 D:执行3次

7.定义 int I=1;执行语句while (I++<5 );后,i的值是( )

A:3 B:4 C: 5 D:6

8.调用strlen(“abcd\0ef\0g”)的返回值为( )

A:4 B:5 C:8 D:9

9.在C语言中,二维数组元素在内存中的存放顺序是( )

A:按行存放 B:按列存放

C:用户自定义 D:编译器决定

10.有数组 int num[5]={10,20,30,40,50};则num[3]的值为

A:10 B:20

C:30 D:40

11.C语言中,有数组定义:char array[]=“china”;则数组array所占用的内存空间为几个字节

A:4 B:5

C:6 D:7

12.在C 语言中,引用数组元素时,其下标的数据类型允许是

A:只允许整型常量 B:整型变量

C:整型常量或者整型表达式 D:任何类型的表达式

13. 已知:int *p,a; 则语句“p=&a;”中的运算符“&”的含义是

A:位运算符 B:逻辑运算符

C: 取指针内容 D:取变量地址

14.已知:char s[10];*p=s,则以下语句中错误的语句是( )

A:p=s+5 B:s=p+s

C:s[2]=p[4] D:*p=s[0]

15.char b[5],*p=b;则正确的语句为( )

A:b=”abcd” B:*b=”abcd”

C:p=”abcd” D:*p=”abcd”

第三部分 程序分析能力(每题4分,共20分)

1. main( )

{

int a = –1, b = 4, k;

k=(+ + a <0 )&& !(b––< 0) ;

printf(“%d,%d,%d\n”,k,a,b) ;

}

则:以上程序的输出结果是_________________________

2.Main( )

{

int a=3, b=2, c=1;

int x=10, y=20;

if(a

if(b!=0)

if(!x)

y=1;

else if(x)

y=0;

y=-1;

printf(“%d”,y);

}

则:上面C程序的输出结果是_____________

3. main( )

{

int i, x[3][3]={1,2,3,4,5,6,7,8,9};

for (i=0;i<3 ;i++)

printf(“%d”,x[i][2-i]);

}

则:以上C程序的输出结果是________________________

4.void fun( int a, int b, int c)

{ a=456;b=567;c=678; }

main( )

{

int x=10,y=20,z=30;

fun(x,y,z);

printf(“%d,%d,%d”,z,y,x);

} 则:程序的运行结果是:___________________________

5. char *p=”happy new year”;

char *q=p;

int k;

for (k=1;k<8 ;k++)

{ putchar(*q);

q++;

}

则:以上C程序的输出结果是__________________________

第四部分:程序分析能力(每题5分,共20分)

1.以下程序实现从1到100的类加和,请把程序填充完整。

main( )

{

int i=1,sum=0;

for( ; ;)

{ sum+=i;

_____________

if (i>100)

_____________

}

printf(“%d”,sum);

}

2.下面的函数是一个求阶乘的递归函数

facto ( int n )

{if (n= =1)_______________

else return _______________ }

3.下面的部分程序用于输出3到100之间的所有素数

for ( i=3; i< ="100;" i++)

{

for (j=2; j< ="i-1;" j++)

if ( ______________ ) break;

if ( _______________ ) printf(“%d”, i);

}

4.读入10个整数,统计非负数的个数,并计算非负数的和。

main( )

{

int i, a[10], s=0 , count=0;

for (i=0; i<10 ;i++)

scanf(“%d”, _______);

for(i=0;i<10 ;i++)

{ if (a[i]<0 ) ;

s += a[i];

_____________

}

printf(“%d,%d”,s,count);

}

第五部分:综合技能训练(每题10分,共20分)

1. 打印出所有的“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153=13+53+33,所以153是一个水仙花数。

2. 函数编写部分要加强训练,如求累加和问题,阶乘问题等。