2011~2012C语言程序设计试卷A(王伟+李剑雄+带答案)

更新时间:2023-10-11 00:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言程序设计 笔试试题(A卷)

哈尔滨工业大学(威海)2011/2012学年春季学期 C语言程序设计 笔试试题(A卷) 题号 分数 学号 一 二 三 四 五 六 笔试(70%) 综合 (30%) 总分 姓名 试卷说明: 1. 笔试卷面总分100分,取卷面成绩的70%计入总分; 2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%; 3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸; 4. 答题时间120分钟。 一、单项选择题。请把答案填入下面框中, 不允许出框线。(本题16分,每小题1分) 题号 答案 题号 答案 1 9 2 10 3 11 4 12 5 13 6 14 7 15 8 16 注意行为规范 遵守考试纪律

1.有以下定义:int a; long b; double x,y;则下列正确的是( A )。 A) a%(int)(x-y) B) a=x!=y C) (a*y)%b D) y=x+y=x 2. 有以下程序 main() {int a=1,b=0; if(!a) b++; else if(a==0) if(a) b+=2; else b+=3; printf(“%d\\n”,b); }则程序输出( A )。 A) 0 B) 1 C) 2 D) 3 3. 若有定义 int (*p)[3];则下列说法正确的是( C )。 教研室主任签字: 第1页 (共14页)

C语言程序设计 笔试试题(A卷)

A) 定义了基类型为int的三个指针变量

B) 定义了一个名为 *pt、具有三个元素的整型数值

C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组

D) 定义了基类型为int的具有三个元素的整型数组

4. 有以下程序段

main() { int x=10; while(x--);

printf(\

则最后的输出结果是:( B )。

A) x=0 B) x= -1 5. 有以下程序:

int fun() {static int x=1; x *= 2; return x;}

C) x=1 D)while构成无限循环

main( )

{ int i,s=1 ;

for(i=1 ;i<=2 ;i++) s=fun() ; printf(“%d\\n ”,s) ;}

执行后的输出结果为( D )。

A) 0 B) 1 C) 8 D) 4

6. void main( ){

int k=011;

printf(\ } }程序输出结果是( D )

A)12 B) 11 C) 10 D) 9

7. 以下C语言标识符中,不合法的是( C )。

A) _2 B) a_b C) a--b D) AaBc

8. C语言允许函数类型默认定义,此时该函数值隐含的类型是( B )。 A) float B) int C) long D) double 9. 以下程序段运行结果是( B )。

第2页 (共14页)

C语言程序设计 笔试试题(A卷)

enum weekday{aa,bb=2,cc,dd,ee}week=ee; printf(“%d\\n“,week);

A) 4 B) 5 C) ee D) 0

10. 以下对C语言函数的描述中,不正确的是( B )。

A) 不同函数中可以使用相同名字变量 B) 函数可以嵌套定义 C) 函数可以没有返回值 D) 程序由函数组成 11. 若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x

数组元素的是( D )。

A) *p B) *x C) *(p+1) D) x[5] 12. 以下程序段运行结果是( B )。

int a=6;

printf(“%d\\n“,a>>1);

A) 12 B) 3 C) 6 D) 1

13. 若有定义语句:double x,y,*px,*py;执行了px=&x;py=&y;之后,正

确的输入语句是( B )。

A) scanf(“%lf%lf”,x,y); B) scanf(“%lf,%lf”,px,py); C) scanf(“%f%f”, &x, &y); D) scanf(“%f%f”,x,y); 14. 以下程序运行结果是( D )。

char str[ ]=“abc“;

printf(“%d, %d \\n“,strlen(str),sizeof(str));

D) 3,10

A)6,3 B) 3,3 C) 10,10 15. 以下程序段运行结果是( A )。

#define f(x) x*x*x main( ) { int a=1,b,c; b=f(a+1);c=f((a+1)); printf(“%d,%d\\n“,b,c);}

A) 4,8 B) 8,4 16. 有以下程序:

main() {FILE *f;

f=fopen(“fa.txt“,“w“); fprintf(f,“day“);

C) 8,8 D) 4,4

第3页 (共14页)

C语言程序设计 笔试试题(A卷)

fclose(f);}

若文本文件fa.txt中原有内容为:hello,则运行以上程序后,文件fa.txt中的内容为( A )。

A)day

B) helloday C) daylo D)dayhello

二、填空题。请按序号把答案填入下面框中,

不允许出框线。(本题20分,每空2分)

题号 1 2 3 4 5 答 案 a[row][col] x或x0 23hE45a fun() m++ 题号 6 7 8 9 10 k<=n k++ m%i==0&&n%i==0 p=p->next s[i]或?\\0? 答 案

1. 以下fun函数功能是在N行M列的整型二维数组中,选出一个最大

值作为函数值返回。

int fun(int a[N][M]) { int i,j,row=0,col=0;

for(i=0;i

if(a[i][j]>a[row][col]){row=i;col=j;}

return( 【1】 );}

2. 以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、

十位,百位的顺序拆分输出。

main() { int x=123;

printf(“%d-%d-%d\\n”, 【2】 ,x/10,x/100);} 3. 下列程序运行时,若输入23he45a<回车>,输出结果是 【3】 #include main()

第4页 (共14页)

C语言程序设计 笔试试题(A卷)

{ char a=0;ch;

while((ch=getchar())!=?\\n?)

{if(a%2!=0&&(ch>=?a?&&ch<=?z?)) ch=ch-?a?+?A?; a++;putchar(ch);} printf(“\\n”);}

4. 以下程序的功能是,通过函数fun输入字符并统计输入字符个数。用字符$作为输入结束标志。 #include

long 【4】 ;/*函数声明语句*/ main() { long n;

n=fun(); printf(“n=%ld\\n”,n);} long fun() {long m;

for(m=0;getchar()!='$'; 【5】 ); return m;}

5. 有以下程序段,且变量已正确定义和赋值 for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1)); printf(\

请填空,是下面程序段的功能与之完全相同

s=1.0;k=1;

while( 【6】 ){s=s+1.0/(k*(k+1)); 【7】 ;} printf(\

6. 以下函数的功能是求两个整数的最大公约数。 fun(int m,int n) { int i=1,t;

for(;i<=m&&i<=n;i++) if( 【8】 )t=i; return(t);}

7. 以下程序将三个struct node型变量链接成一个链表,并在while循

环中输出链表节点数据域中的数据。

struct node

{int data;struct node *next;}

第5页 (共14页)

本文来源:https://www.bwwdw.com/article/fgsf.html

Top