内蒙古科技大学往年C语言程序设计测试卷
本试卷为内蒙古科技大学往年C语言程序设计测试卷,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言程序设计测试卷
一、单项选择题 (共50题,每题2分,共计100分)
( B )
1、若i、j已定义成int型,则下列程序段中内循环体的总执行次数是________。
for(i=6;i>0;i--) for(j=0;j<4;j++)
{
…
}
( B )
2、下面程序的功能是输出以下形式的金字塔图案:
*
***
*****
main ()
{
int i, j;
for (i = 1; i < 4; i++)
{
for (j = 1; j <= 4 - i; j++)
printf (" ");
for (j = 1; j <= _______; j++)
printf ("*");
printf ("\n");
}
}
在下划线处应填入的是________。
( A )
3、下列函数的类型是________。 fun(double x)
{
float y;
y=3*x-4;
return y;
}
( B )
4、设有字符串a="he has 钱!",则该字符串的长度为( )。
( A )
5、有下列程序:
main()
{
int x=0;
int y=0;
while(x<7 &&++v)
{
y--;
x++;
}
printf("%d,%d",y,x);
}
程序的输出结果是________。
( C )
6、以下关于运算符优先顺序的描述中正确的是 。
( B )
7、以下变量声明中正确的是________。
( B )
8、将八进制数307转换成二进制数是________。
( C )
9、已定义以下函数 fun(int *p)
{
return *p;
}
该函数的返回值是________。
( B )
10、有以下程序
#include <stdio.h>
int fun(int x,int y)
{
if(x==y) return(x);
else return((x+y)/2);
}
main()
{
int a=4,b=5,c=6;
printf("%d\n",fun(2*a,fun(b,c)));
}
程序运行后输出的结果是________。
( C )
11、设有如下枚举类型定义: enum language
{
basic=3 , assembly , ada=100 , cobol , fortran
};
枚举量 fortran 的值为 。
( C )
12、二进制数110101对应的十进制数是________。
( A )
13、在c语言中,变量的隐含存储类别是________。
( D )
14、下列选项不是c关键字的是________。
( A )
15、数组a[0…5,0…6]每个元素占5个单元,将其按列优先次序存储在起始地址为1000的连续内存单元中,则元素a[5][5]的地址为________。
( A )
16、下列定义语句中,错误的是________。
( C )
17、以下关于c语言数据类型的叙述中正确的是________。
( A )
18、有如下语句: s=int(100*rnd) 执行完毕后,s的值是________。
( C )
19、计算机中的数有浮点和定点两种表示,浮点表示的数,通常由两部分组成,即________。
( D )
20、要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是________。
( C )
21、若一个外部变量的定义形式为static int x; 那么,其中static的作用应该是______。
( C )
22、以下正确的程序段是________。
( A )
23、以下选项中合法的c语言字符常量是________。
( B )
24、不能把字符串"hello!"赋给数组b的语句是______。
( A )
25、若有定义语句: char*s1="ok",*s2="ok"; 以下选项中,能够输出"ok"的语句是______。
( B )
26、下列变量定义中,错误的是______。
( B )
27、有如下程序
main( )
{
int n=8;
while(n>6)
{
n--;
printf("%d",n);
}
}
该程序段的输出结果是______。
( B )
28、下面程序
main()
{
int y=9;
for(;y>0;y--)
{
if(y%3==0)
{
printf("%d",--y);
continue;
}
}
}
的输出是______。
( A )
29、若有数组名作为函数调用的实参,传递给形参的是________。
( A )
30、以下叙述中错误的是________。
( D )
31、为表示"a和b都不等于0",应使用的c语言表达式是________。
( D )
32、下列字符中,错误的转义字符是________。
( D )
33、已定义以下函数int fun( int *p)
{
return *p;
}
则fun函数返回值足
( A )
34、算法指的是________。
( D )
35、以下叙述中正确的是________。
( B )
36、下面的C程序完成的功能是________。
#define SIZE 5
void func(int data[SIZE]);
main()
{
int i,buf[SIZE];
printf(""Please input %d numbers:"",SIZE);
for(i=0;idata[j+1])
{
d=data[j];
data[j]=data[j+1];
data[j+1]=d;
}
}
( C )
37、若a为int类型,且其值为2,则执行完表达式a+=a-=a*a后,a的值是______。
( C )
38、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
( C )
39、下列程序段的输出结果为________。 int a=7,b=9,t; t=a*=a>b?a:b; printf("%d",t);
( B )
40、下列表达式中,可作为c合法表达式的是________。
( D )
41、以下选项中正确的 c 语言常量是________。
( C )
42、判断关键字* ▁▁▁▁▁ 不是关键字。
( D )
43、当定义一个结构体变量时,系统为它分配的内存空间是________。
( A )
44、以下不是无限循环的语句为________。
( D )
45、若二维数组a 有m 列,则计算任一元素a[i][j] 在数组中位臵的公式为(假设a[0][0] 位于数组的第一个位臵上) ________。
( A )
46、下面程序的功能是将字符串s 中所有的字符'c'删除。
#include "stdio.h"
main()
{
char s[80];
int i,j;
gets(s);
for (i=j=0;s[i]!='\0';i++)if (s[i]!='c') ;
s[j]='\0';
puts(s);
}
( B )
47、下面语句中( )是c 语言的正确赋值语句。
( C )
48、以下叙述中正确的是____
( C )
49、下面叙述中正确的是
( C )
50、以下叙述中错误的是________。
相关标签:
- C语言
- 内蒙古科技大学
- 测试卷