C语言程序设计模拟题

C语言程序设计模拟题


2024年1月13日发(作者:)

C语言程序设计模拟题

一、选择题

1.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是( )

A、 把x和y按从大到小排列 B、 把x和y按从小到大排列

C、 无确定结果 D、 交换x和y中的值

2.若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(

A、 0 B、 0.5 C、 1 D、 2

3.有以下程序

#include

main()

{

char *s="ABC";

do

{

printf("%d",*s%10);

s++;

}while(*s);

}

注意,字母A的ASCII码值为65。程序运行后的输出结果是( )

A.5670 B.656667 C.567 D.ABC

4.有以下程序

#include

main()

{

int i=5;

do

{

if(i%3==1)

if(i%5==2)

{

printf("*%d",i);

break;

}

i++;

} while(i!=0);

printf("n");

}

程序的运行结果是( )

A.*7 B.*3*5 C.*5 D.*2*6

5.设i和x都是int类型,则for循环语句( )。

for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);

A. 最多执行10次 B. 最多执行9次

C. 是无限循环 D. 循环体一次也不执行

6.下述for循环语句( )。

int i,k;

for(i=0,k=-1;k=1;i++,k++) printf("* * * *");

A. 判断循环结束的条件非法 B. 是无限循环

C. 只循环一次 D. 一次也不循环

7. 引用共用体变量中的字符型变量,以下正确的是()

A. B. a.f C .

8.以下共用体定义错误的是()

A. B C

union union data union data

{ int i; {int i; {int i;

char ch; char ch; char ch;

float f; float f; float f;

}a,b,c; } }union data a,b,c

9.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是(A.p=2*(int*)malloc(sizeof(int));

B.p=(int*)malloc(2*sizeof(int));

C.p=(int*)malloc(2*2);

D.p=(int*)calloc(2,sizeof(int));

10.有以下程序

#include

main()

{

char *p,*q;

p=(char *)malloc(sizeof(char)*20);

q=p;

scanf("%s %s",p,q);

printf("%s %sn",p,q);

}

若从键盘输入:abc def<回车>,则输出结果是( )。

A.def def B.abc def C.abc d D.d d

二、填空题

1."%-ms"表示如果串长小于m,则在m列范围内,字符串向( )靠,( )补空格。2.printf函数的“格式控制”包括两部分,它们是( )和( ) 。

3.以下程序运行后的输出结果是( ) 。

)。

main()

{ int x,a=1,b=2,c=3,d=4;

x=(ax)? x:d;

printf("% dn",x);

}

4.有以下程序,程序的运行结果是。

# include

main()

{

int x=1,y=0,a=0,b=0;

switch(x)

{

case 1:

switch(y)

{

case 0: a++;

break;

case 1: b++;

break;

}

case 2:a++;b++;

break;

case 3:a++;b++;

}

printf("a=%d,b=%dn",a,b);

}

5.以下程序运行后的输出结果是( )。

main()

{

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

if(c=a)

printf("%dn",c);

else

printf("%dn",b);

}

6.共用体变量所占的内存长度等于( )。

7.共用体成员共同使用( )

8.设二进制数A是00101101,若想通过异或运算A^B使A的高4位取反,低4位不变,则二进制数B应是() 。

9.有以下程序

#include

void fun(int *a,int *b)

{

int *c;

c=a;

a=b;

b=c;

}

main()

{

int x=3,y-5,*P=&x,*q=&y;

fun(p,q);

printf(“%d,%d”,*p,*q);

fun(&x,&y);

printf(“%d,%dn”,*p,*q);

}

程序运行后的输出结果是( )。

10.在数组中同时查找最大元素下标和最小元素下标,分别存放在main函数的变量max和min中。

#include

void find(int *a,int *max,int *min)

{ int i;

*max=*min=0;

for(i=1;i

if(a[i]>a[*max]) (1) ;

else if(a[i]

return;

}

main()

{ int a[]={5,8,7,6,2,7,3};

int max,min;

find( (3) );

printf("%d,%dn",max,min);

}

三、编程题

1.编写一个简单计算器程序,要求能够完成两个数的+,-,*,/四种运算。输出运算式及运算结果。

2.求3行3列矩阵a[3][3]={1,2,3,4,5,6,7,8,9}非主对角线上元素之和。


发布者:admin,转转请注明出处:http://www.yc00.com/news/1705080652a1391824.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信