C语言程序设计模拟题

2019-03-03 22:10

一、选择题

(1)能将高级语言程序转换成目标语言程序的是__ C____。

A)调试程序 B)解释程序 C)编译程序 D)编辑程序 (2)__A____是构成C语言程序的基本单位。

A)函数 B)过程 C)子程序 D)子例程 (3)可以在C语言中用做用户标识符的是__B___。

A)void B)as_b3 C)for D)2c define _123 -abc Do WORD If cas SIG (4)若有以下类型说明语句:

char w; int x; float y, z;

则表达式w*x+z-y的结果为__D___类型。

A)float B)char C)int D)double (5)main()

{ float x=123.456;

printf(\ }

以上程序输出的结果是___D___。

A)123.4 B)123.5 C)123.45 D)123.46 (6)下面语句的输出结果是___C___。

printf(\

A)14 B)8 C)5 D)输出项不合法,无正常输出 (7)下列程序的输出结果是__B____。 main()

{ int a=0,b=0,c=0;

if(++a>0| ++b>0) ++c;

printf(\ }

A)a=0,b=0,c=0 B)a=1,b=1,c=1 C)a=1,b=0,c=1 D)a=0,b=1,c=1 (8)下列程序的输出结果是__B____。 main() { int i;

for(i=1;i+1;i++)

{ if(i>4) {printf(\ }

printf(\ }

A)55 B)56

C)程序错误,没有输出 D)循环条件永远为真,死循环 (9)下列程序的输出结果是___A___。 #define A 100 main()

{ int i=0,sum=0;

do{ if(i==(i/2)*2) continue; sum+=i; }while(++i

printf(\ }

A)2500 B)2050 C)4 D)0 (10)下列程序的输出结果是__D____。 main()

{ int i=3; switch(i) { case 1:

case 2:printf(\ case 3:

case 4:break;

default:printf(\ } }

A)0 B)3 C)OK D)没有任何输出 (11)下列程序执行后的输出结果是__C____。

C语言程序设计模拟题(1)

main()

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

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

{ printf(\ }

A)456 B)258 C)369 D)789

(12)设已定义i和k为int类型变量,则以下for循环语句__B____。 for(i=0;k=-1,k=1;i++,k++) printf(\

A)判断循环结束的条件不合法 B)是无限循环

C)循环一次也不执行 D)循环只执行一次 (13)下面程序的输出结果是__C____。 unsigned fun(unsigned num) { unsigned k=1; do {

k*=num; num/=10; } while(num); return(k); } main()

{ unsigned n=26;

printf(\ }

A)0 B)4 C)12 D)无限次循环

(14)已知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序__C____。 main()

{ char a='A'; int b=20;

printf(\ }

A)表达式非法,输出零或不确定值

B)因输出项过多,无输出或输出不确定值

C)输出结果为20,141 D)输出结果为20,141,20

(15)C语言函数返回值的类型是由___D___决定的。

A)return语句中的表达式类型 B)调用函数的主调函数类型

C)调用函数时临时 D)定义函数时所指定的函数类型 (16)下列程序执行后输出的结果是__C____。

int d=1; fun(int p) { int d=5; d+=p++;

printf(\ }

main()

{ int a=3;

fun(a); d+=a++;

printf(\ }

A)8,12 B)9,13 C)8,4 D)9,5 (17)已知下面的程序段,正确的判断是_C____。 #define A 3

#define B(A) ((A+1)*a) int a=3; ……

X=3*(A+B(7));

A)程序错误,不允许嵌套定义 B)X=93

C)X=81 D)程序错误,宏定义不允许有参数 (18)定义int *swap()指的是_B____。

A)一个返回整型值的函数swap()

B)一个返回指向整型值指针的函数swap()

C)一个指向函数swap()的指针,函数返回一个整型值 D)以上说法均错

(19)以下程序段的输出结果是__B____。 main()

{ char s1[10],s2[10],s3[10];

scanf(\ puts(s1);puts(s2);puts(s3); }

输入数据如下:(此处代表回车符) aaa bbb

A)aaa B)aaa C)aaa\\0bbb\\0 D)aaabbb Bbb bbb

(20)下述函数功能是__A____。 int fun(char *x) { char *y=x; while(*y++); return y-x-1; }

A)求字符串的长度 B)求字符串存放的位置

C)比较两个字符串的大小 D)将字符串x连接到字符串y后面 (21)以下程序的输出结果是__A____。 main()

{ char str[12]={'s','t','r','i','n','g'}; printf(\ }

A)6 B)7 C)11 D)12 (22)请读程序段:

char str[]=\ printf(\

程序段的输出结果是__B____。

A)68 B)0 C)字符’D’的地址 D)不确定的值

(23)若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是___B___。 (0<=i<4,0<=j<10)

A)*(&a[0][0]+10*i+j) B)*(a+i)+j C)*(*(a+i)+j) D)*(a[i]+j) (24)设有以下语句:

char str1[]=\ 则__C D____不是对库函数的正确调用。

A)strcpy(str1,\ B)strcpy(str2,\ C)strcpy(str3,\ D)strcpy(str4,\ (25)请读程序: #include #include main()

{ char *s1=\ s1++;s2++;

printf(\ }

上面程序的输出结果是__A____。

A)正数 B)负数 C)零 D)不确定的值 (26)下面程序的输出是___A___。 char s[]=\ main()

{ char *p;

for(p=s;p

}

A)ABCD B) A C) D D)ABCD BCD B C ABC CD C B AB D D A A (27)以下程序输出的结果为___C___。 main()

{ char *alpha[6]={\ char **p; int i; p=alpha;

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

printf(\ }

A)ABCDEFGHIJKL B)ABCD C)ABCDEFGHIJKLMNOP D)AEIM (28)下面程序的输出结果是__A____。 #include main()

{ char *p[]={\ int i;

for(i=3;i>=0;i--,i--) printf(\ printf(\ }

A)SO B)SP C)SPOPK D)SHOB (29)以下程序的输出结果是__B____。 #include

void prt(int *x,int *y,int *z)

{ printf(\ int a=10,b=40,c=20; main()

{ prt(&a,&b,&c); prt(&a,&b, &c); }

A)11,42,31 B)11,41,20 C)11,21,40 D)11,41,21 12,22,41 12,42,20 11,21,41 12,42,22

(30)若一个外部变量的定义形式为static int x;,那么,其中static的作用应该是__C____。 A)将变量存储在静态存储区

B)使变量x可以由系统自动初始化 C)使x只能在本文件内引用 D)使x的值可以永久保留

(31)以下程序的输出结果是__B____。 #include #define SQR(x) x*x main()

{ int a,k=3;

a=++SQR(k+1); printf(\ }

A)8 B)9 C)17 D)20

(32)下面是对宏定义的描述,不正确的是___C___。

A)宏不存在类型问题,宏名无类型,它的参数也无类型 B)宏替换不占用运行时间

C)宏替换时先求出实参表达式的值,然后代入形参运算求值 D)宏替换只不过是字符替代而已

(33)已知小写字母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果是___C___。 main()

{ unsigned int a=32,b=66; printf(\ }

A)66 B)98 C)b D)B 二、填空题(每空2分)

(1)若有定义int m=5,y=2,则执行表达式y+=y-=m*=y后,y的值为 【_____-16_________】 。

(2) 若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为

【___8.0__________】 。

(3)设有char a,b;,若要通过a&b运算屏蔽掉a中的其他位,只保留第2位和第8位(右起为第1位),则b的

二进制是 【__10000010___】 。

(4)下列程序执行后输出的结果是 【_______7__________】 。 f(int a)

{ static c=0;

c=a+c++; return(c); }

main()

{ int a=2,i,k;

for(i=0;i<2;i++) k=f(a++);

printf(\ }

(5)下面程序执行后输出的结果是 【_______2___________】 。 int m=13;

int fun(int x,int y) { int m=3;

return(x*y-m); } main()

{ int a=7,b=5;

printf(\

}

(6)下列程序执行后输出的结果是 【_______12___________】 。 main()

{ int arr[10],i,k=0;

for(i=0;i<10;i++) arr[i]=i; for(i=1;i<4;i++) k+=arr[i]+i; printf(\ }

(7)以下程序的输出结果是: 【_____1,0________】 。 main( )

{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p; p=a;

printf(\

printf(\ }

(8)以下函数的功能是计算s=1+1/2!+1/3!+…+1/n!,请填空。 double fun(int n)

{ double s=0.0, fac=1.0; int i,k=1;

for(i=1;i<=n;i++)

{ 【_____k*k*i______】 ; fac=fac/k; s=s+fac; } }

(9)下面程序的运行结果是 【____x=11____________】 。 main()

{ unsigned int a=0112,x; x=a>>3;

printf(\ }

(10)函数delete(s,i,n)是作用是从字符串s中删除从第i个字符开始的n个字符,请填空。 void delete(char s[],int i,int n) { int j,k,length=0; while(s[length])

{ 【___length++______】 ; --i; j=i; }

if( 【_____ i

if(i+n<=length) while(k


C语言程序设计模拟题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:题库-医保卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: