C语言模拟试卷四

发布 2021-04-23 13:55:28 阅读 3509

一、 项选择题(选择一个最佳答案,每题2分,共20分)

1. 下列叙述正确的是( )

a)函数调用时,若形参和实参同名则两者共用存储单元。

b)一个c程序的执行总是从main函数开始,到本程序文件的最后一个函数结束。

c)在c程序中,注释说明只能位于一条语句的后面。

d)宏替换只是字符的替换,不占用运行时间。

2. 不正确的字符串常量是( )

a)’abc’ b)”12’12” c)”0d)”

3. 已知如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,a,b当从第一列开始输入数据时,正确的数据输入方式是( )注:表示回车)

int a1,a2; char c1,c2;

scanf(%d%d”,&a1,&a2);

scanf(%c%c”,&c1,&c2);

a)1020ab b)10 20 ab c)10 20ab d)10 20 ab

4. 若二维数组a有m列,则在a[i][j]前的元素个数为( )

a)j*m+i b) i*m+j c)i*m+j-1d) i*m+j-1

5. 下面程序段的运行结果是( )

char a=language”,*p=a;

while(*p!=’g’) p++;

a) language b) language c) land) language

6. 以下正确的程序段是( )

a)char str[20b) char p;

scanf(“%s”,&strscanf(“%s”,p);

c)char str[20d) char str[20],*p=str;

scanf(“%s”,&str[2scanf(%s”,p[2]);

7. 若有定义语句int a[5], p=a; 则对a数组元素的正确引用是()。

a) *a[5] b) a+2c) *p+5d) *a+2)

8. 若有说明:int a[10]; 则对a数组元素的正确引用是( )

a)a[10] b)a[3.5c)a(5d)a[10-10]

9. 有以下程序。

#include <>

void main(int argc ,char *ar**[ ]

int i,len=0;

for(i=1;i printf(“5d”,len);

经编译链接后生成的可执行文件是若运行时输入以下带参数的命令行。

ex abcd efg h3 k44

执行后输出结果是( )

a) 14b) 12c) 8d) 6

10. 有以下程序。

void main( )

int i,s=0;

for(i=1;i<10;i+=2) s+=i+1;

printf(“%d”,s);

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

a) 自然数1~9的累加和b) 自然数1~10的累加和。

c) 自然数1~9中的奇数之和 d) 自然数1~10中的偶数之和。

二、 填空题(每题2分,共16分)

1. 若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值。

2. 若有short i=-4;则如下语句执行结果为。

printf(“%ni:dec=%d,oct=%o,hex=%x,unsigned=%u”,i,i,i,i);

3. 若有定义:int a[3][4]=,

则初始化后a[1][2a[2][1]=

4. 设char *s=”\ta\017bc”;则指针变量s指向的字符串所占的字节数为。

5. 若有定义:int a=p=a;则*(p+1)的值为 ,*a+5)的值为 。

6. 若有数组名作为函数调用的实参,则传递给形参的是 。

三、读程序写结果(每题6分,共24分)

1. 有以下程序。

#include <>

int x1=30,x2=40;

void sub(int,int);

void main()

int x=20,y=10;

sub(x,y);

sub(x2,x1);

printf("%d,%d,%d,%d",x,y,x2,x1);

void sub(int x,int y)

x1=x;

x=y;y=x1;}

执行后输出的结果是。

2. 有以下程序。

#define letter 1

#include <>

void main()

char str[20]="c language",c;

int i=0;

while((c=str[i])!0')

i++;#ifndef letter

if(c>='a' &c<'z')

c=c+1;

else if(c=='z') c=c-25;

#elseif(c>='b'&&c<='z')

c=c-1;

else if(c=='a') c=c+25;

#endif

printf("%c",c);

执行后输出的结果是。

3. 有以下程序。

void main( )

int i,n=0;

for(i=2;i<5;i++)

printf(“n=%d”,n);

执行后输出的结果是。

4. 有以下程序。

#include <>

void main()

for(i=0;i

执行后输出的结果是。

四、程序填空(每空2分,共10分)

1. 函数fyahuui能够按以下形式构成一个杨辉三角形,请填空。

#define n 11

void fyahui(int a[n])

int i, j;

for(i=1; ifor( 【1】 ;ifor(j=2; 【2】 ;j++)a[i][j]= 3】 +a[i-1][j];

2. 以下程序将数组a中的数据按逆序存放,请填空。

#define m 8

void main()

int a[m], i, j, t;

for(i=0; ii=0; j=m-1;

while(i

五、编程题(共30分)

1. 用指针和数组两种方法实现如下功能:用选择法对10个整数排序(由大到小)。(18分)

要求(1)主函数中完成输入和输出字符串。

2)排序功能用子函数完成。

2. 有一个已排好序的整型数组,今输入整数n并按原来排序的规律将其插入数组中(12分)

要求(1)主函数完成n的输入,数组元素输入以及插入后数组元素的输出。

2)插入功能用子函数完成。

c语言模拟试卷四

试卷编号 9153 所属语言 c语言。试卷方案 vc 20120521 试卷总分 100分。共有题型 5种。一 填空共10题 共计10分 第1题 1.0分 题号 289 下面程序段的输出结果是 1 int a 12 a a 052 printf d a 答案 答案1 第2题 1.0分 题号 1162...

C语言C模拟试卷

一 选择题 共40分 1 下列运算符中优先级最高的是 2分 ab cd 2 若x,i和j都是整型变量,则计算x i 6,j 40 表达式后,x的值为 2分 a 6 b 46 c 34 d 40 3 以下叙述正确的是 2分 a 在c程序中,main函数必须位于程序的最前面。b c程序的每一行中只能写一...

C语言模拟试卷A

安徽农业大学经济技术学院。c语言程序设计 模拟试卷 a 所有答案写在答题卡上,否则不得分。一 单项选择题 每题1分,共30分 1.以下选项中叙述正确的是 c a c语言程序总是从第一个定义的函数开执行。b 在c语言程序中,被调用的函数必须在main 函数中声明c c语言程序总是从main 函数开始执...