C语言试题及答案

main()

{ int k, a[10]={1,2,3,4,5};

for(k=1; k<3; k++) fun(a);

for(k=0; k<5; k++) printf("%d", a[k]);

}

上面程序的输出结果是

A.34756

B.23445

C.35743

D.12345

(40) 请读程序:

#include

#define SUB(X,Y) (X)*Y

main()

{ int a=3, b=4;

printf("%d", SUB(a++, b++));

}

上面程序的输出结果是

A.12

B.15

C.16

D.20(41) 请读程序:

#include

main()

{ int mun=0;

while(num<=2)

{ num++; printf("%d\n",num);}

}

上面程序的输出结果是

A.1

B.1

C.1

D.1

2 2 2

3 3

4

(42) 请读程序:

#include

main()

{ float x,y;

scan("%f",&x);

if(x<0.0) y=0.0

else if((x<5.0)&&(x!=2.0))

y=1.0/(x+2.0);

else if (x<10.0) y=1.0/x;

else y=10.0;

printf("%f\n",y);

}

若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是

A.0.000000

B.0.250000

C.0.500000

D.1.000000

(43) 请读程序:

#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;

}

printf("a=%d, b=%d\n",a,

B.;

}

上面程序的输出结果是

A.a=2, b=1

B.a=1, b=1

C.a=1, b=0

D.a=2, b=2

(44) 若有下面的程序片段:

int a[12]={0}, *p[3], **pp, i;

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

p[i]=&a[i*4];

pp=p;

则对数组元素的错误引用是

A.pp[0][1]

B.a[10]

C.p[3][1]

D.*(*(p+2)+2)

(45) 请读程序:

#include

#include

main()

{ float x,y,z;

scan("%f%f",&x,&y);

z=x/y;

while(1)

{ if(fabs(z)>1.0)

{ x=y; y=z; z=x/y;

}

else break

}

printf("%f\n",y);

}

若运行时从键盘上输入3.6 2.4(表示回车),则输出的结果是

A.1.500000

B.1.600000

C.2.000000

D.2.400000

(46) 请读程序:

#include

f(in b[], int n)

{ int i, r;

r=1;

for(i=0; i<=n; i++) r=r*b[i];

return r;

}

main()

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

x=f(a, 3);

printf("%d\n",x);

}

上面程序的输出结果是

A.720

B.120

C.24

D.6

(47) 请读程序:

#include

#include

void fun( char *s)

{ char a[10];

strcpy( a, "STRING");

s=a;

}

main()

{ char *p;

fun(p);

x=f(a, 3);

printf("%s\n",p);

}

上面程序的输出结果是(└┘表示空格)

A.STRING└┘└┘└┘└┘

B.STRING

C.STRING└┘└┘└┘

D.不确定的值

(48) 若已建立下面的链表结构,指针p、s分别指向图中所示的结点,则不能将s所指的结点插入到链表末尾的语句组是

A.s->next=NULL; p=p->next; p->next=s;

B.p=p->next; s->next=p->next; p->next=s;

C.p=p->next; s->next=p; p->next=s;

D.p=(*p).next; (*s).next=(*p).next; (*p).next=s;

(49) 请读程序:

#include

void fun(float *pl, float *p2, float *s)

{ s=( float * )calloc( 1, sizeof(float));

*s=*p1+ *(p2++);

}

main()

{ float a[2]={1.1, 2.2}, b[2]={10.0, 20.0}, *s=a;

fun(a, b, s)

printf("%f\n",*s);

}

上面程序的输出结果是

A.11.100000

B.12.100000

C.21.100000

D.1.100000

(50) 请读程序:

#include

#include

void fun( char *w, int m)

{ char s, *p1, *p2;

p1=w; p2=w+m-1;

while (p1  { s=*p1++; *p1=*p2--; *p2=s;}

}

main()

{ char a[]="ABCDEFG";

fun( a, strlen(a));

puts(a);

}

上面程序的输出结果是

A.GFEDCBA

B.AGADAGA

C.AGAAGAG

D.GAGGAGA

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

请将每空的正确答案写在答题卡上【1】-【20】序号后的横线上,答在试卷上不得分。

(1) DOS命令分为内部命令与外部命令,XCOPY命令是 【1】 命令

(2) 为了列出当前盘当前目录中所有第三个字符为C的文件名的有关信息,应该用命令 【2】 。

(3) 设当前盘为A盘,当前目录为\X\Y,A盘上的一个文件QR.C在当前目录下的子目录W中。现已将A盘的当前目录改为\D\XY,当前盘改为C盘,如需指定A盘上该文件应写成 【3】 。

(4) 用十六进制给存储器中的字节地址进行编号,其地址编号是从0000到FFFF,则该存储器的容量是【4】KB。

(5) 设有两个八位二进制数00010101与01000111相加,其结果的十进制表示为 【5】 。

(6) 数学式子 写成C语言表达式是 【6】 。

(7) 下面程序的输出结果是 【7】 。

#include

main()

{ static char b[]="Goodbye";

char *chp=&b[7];

while( --chp >=&b[0]) putchar( *chp);

putchar(’\n’);

}

(8) 下面程序的输出结果是 【8】 。

#include

void as( int x, int y, int *cp, int *dp)

{ *cp=x+y;

*dp=x-y;

}

main()

{ int a=4, b=3, c, d;

as( a, b, &c, &d);

printf( ’%d %d\n", c, d);

}

(9) 请读程序:

#include

main( int argc, char *argv[])

{ int i;

printf( ’%d\n", argc);

for( i=0; i<=argc+1; i++) printf( "%s ", argv[i]);

printf("\n");

}

若上面的程序编译、连接后生成可执行文件ABC.EXE,则输入以下命令行

abc file1 file2(表示回车)

程序执行后的输出结果是 【9】 。

(10) 条件“20  (11) 设二进制数a是00101101,若想通过异或运算a^b使a的高4位取反,低4位不变,则二进制数b应是 【11】 。

(12) 若有以下说明和定义语句,则变量w在内存中所占的字节数是 【12】 。

union aa

{ float x, y;

char c[6];

};

struct st { union aa v; float w[5]; double ave; } w;

(13) 下面程序的输出结果是 【13】 。

#include

#define N 5

fun( char *s, char a, int n)

{ int j;

*s=a; j=n;

while( e  return j;

}

main()

{ char s[N+1];

int k, p;

for( k=1; k<=N; k++)

s[k]=’A’+k+1;

printf( "%d\n", fun(s, ’E’, N));

}(14) 下面程序的输出结果是 【14】 。

#include

void fun( char *a1, char *a2, int n)

{ int k;

for( k=0; k  a2[k]=( a1[k]-’A’-3+26)&+’A’;

a2[n]=’\0’;

}

main()

{ char s1[5]="ABCD", s2[5];

fun( s1, s2, 4);

puts( s2);

}

(15) 下面的findmax函数返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空。

findmax( int s[], int t)

{ int k, p;

for( p=0, k=p; p  if( s[p]>s[k]) 【15】 。

return k;

}

(16) 下面程序的输出结果是 【16】 。

#include

fun( int x)

{ int p;

if( x==0||x==1) return(3);

p=x-fun( x-2);

return p;

}

main()

{ printf( "%d\n", fun(9));}

(17) 下面程序的输出结果是 【17】 。

#include

funa( int a, int b)

{ return a+b;}

funb( int a, int b)

{ return a-b;}

sub( int (*t)(), int x, int y)

{ return((*t)( x,y));}

main()

{ int x, (*p)();

p=funa;

x=sub(p,9,3);

x+=sub(funb, 8, 3);

printf("%d\n", x);

}

(18) 下面程序的输出结果是 【18】 。

#include

main()

{ char *p[]={ "BOOL", "OPK", "H", "SP"};

int i;

for(i=3; i>=0; i--,i--) printf( "%c", *p[i]);

printf("\n");

}

(19) 为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是向结点的指针域),请填空。

data next

struct link { char data; 【19】 } node;

(20) 下面的程序用来统计文件中字符的个数,请填空。

#include

main()

{ FILE *fp;

long num=0;

if(( fp=fopen("fname.dat","r"))==NULL)

{ printf( "Can’t open file! \n"); exit(0);}

while 【20】

{ fgetc(fp); num++;}

printf("num=%d\n", num);

fclose(fp);

}

参考答案

一`选择题((1)~(40)题每题1分,(41)~(50)题每题2分,共60分)

(1)C (2)A (3)B (4)D (5)D (6)A (7)C (8)B (9)D (10)C

(11)B (12)D (13)A (14)C (15)B (16)A (17)B (18)A (19)C (20)C

(21)D (22)B (23)B (24)A (25)C (26)D (27)D (28)B (29)C (30)A

(31)B (32)B (33)D (34)C (35)A (36)C (37)A (38)B (39)C (40)A

(41)C (42)C (43)A (44)C (45)B (46)B (47)D (48)C (49)D (50)C

二` 填空题(每空2分,共40分)

(第(2)`(3)空允许小写或大小写混合使用,其它空均须与答案一样)

(1) 外部

(2) DIR ?? C*.*

(3) A:\X\Y\W\QR.C

(4) 64

(5) 92

(6) pow(sin(x),2) * (a+b)/(a-b) 或 sit(x) * sit(x) * (a+b)/(a-b)

(7) eybdooG

(8) 7 1

(9) 3 abc.exe file1 file2 (注:两个答案,每个1分)

(10) ((20   (11) 11110000

(12) 34

(13) 3

(14) XYZA

(15) k=p

(16) 7

(17) 17

(18) SO

(19) struct link *next

(20) (!feof(fp))或(feof(fp)==0)

【C语言试题及答案】相关文章:

c语言作业及参考答案,C语言试题及答案相关推荐

  1. C语言及实验作业,C语言作业及参考答案

    <C语言作业及参考答案>由会员分享,可在线阅读,更多相关<C语言作业及参考答案(65页珍藏版)>请在人人文库网上搜索. 1.C语言及实验作业参考做法分支程序设计上机作业:标题 ...

  2. 计算机英语统考试卷及答案,计算机英语试题及答案计算机英试题及答案.doc

    计算机英语试题及答案计算机英试题及答案 KEY TO COMPUTER ENGLISH TEST PAPER ONE (120 minutes) Part One: Translate the fol ...

  3. 浙江理工大学c语言作业网站,浙江理工大学c语言期末考试模拟试卷6

    <浙江理工大学c语言期末考试模拟试卷6>由会员分享,可在线阅读,更多相关<浙江理工大学c语言期末考试模拟试卷6(13页珍藏版)>请在人人文库网上搜索. 1.浙江理工大学c语言期 ...

  4. c语言作业系统输出超限,C语言网Online Judge系统支持语言和编译说明

    Online Judge系统支持语言和编译情况: 语言 编译器 语言版本 编译参数 C gcc 4.6.3 C99 gcc Main.c -o Main -Wall -lm –static -std= ...

  5. 有100名考生参加C语言测验,全国计算机一级考试模拟试题及答案(1-100)

    1)根据汉字国标GB2312-80的规定,二级次常用汉字个数是 A) 3000个 B)7445个 C)3008个 D)3755个 2)在下列字符中,其ASCII码值最小的一个是 A)空格字符 B)0 ...

  6. c语言作业朱鸣华,C语言程序设计教程

    本书介绍利用C语言进行计算机程序设计的基本知识.全书共分13章,详细介绍了C语言的基本概念.输入和输出.选择结构.循环结构.数组.函数.编译预处理.指针.结构体与共用体.文件等内容,同时介绍了面向对象 ...

  7. 二元一次方程组用c语言解答,二元一次方程组解法检测试题及答案

    二元一次方程组解法检测试题及答案 一.选择题 1.用代入法解方程组 有以下过程 (1)由①得x= ③; (2)把③代入②得3 -5y=5; (3)去分母得24-9y-10y=5; (4)解之得y=1, ...

  8. 大学matlab选择试题和答案,大学matlab试题和答案

    Matlab考试试题库答案解析_IT认证_资格考试/认证_教育专区.WORD 格... (x==5)) 实验三 Matlab 底层图形控制 1 在 MATLAB 命令行... Matlab考试题库+答 ...

  9. 计算机辅助普通话测试试题及答案,普通话测试试题及答案

    普通话测试试题及答案 导语:普通话是现代汉语的标准语.由国家语言文字工作委员会和国家教育委员会.广播电影电视部颁布的,<普通话水平测试等级标准(试行)>.下面我们一起来看看有注音的考试内容 ...

  10. php笔试题汇总及答案,PHP笔试题及答案

    1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的的前一页面URL记录在预定义变量(2)中 //本页地址,SCRIPT_NAME也可以:php/tes ...

最新文章

  1. DASH流媒体MPD文件解析
  2. 半监督学习下的高维图构建
  3. 无需人脸检测,实时6自由度3维人脸姿态估计img2pose
  4. 树莓派apt-get下载网速太慢
  5. CF 67A - Partial Teacher
  6. Linux下python安装升级详细步骤 | Python2 升级 Python3
  7. python 比赛成绩预测_利用 Python 预测英雄联盟胜负,分析了 5 万多场比赛才得出的数据!值得,涨知识了!...
  8. python 打包exe_将python文件打包exe独立运行程序方法详解
  9. hibernate _批量抓取
  10. 虚拟Linux 訪问win7共享文件夹方法
  11. MyBatis使用动态SQL语句
  12. 算法导论--最小生成树(Kruskal和Prim算法)
  13. c 调用java map_如何从C中的map迭代器调用类成员函数?
  14. Java使用DFA算法处理敏感词汇
  15. 【银行】银行业务系统设计特点概述
  16. 《新唐书·李白传》原文及翻译
  17. rockchip的调试手段
  18. .NET发送邮箱(验证码)
  19. VS下同一个solution下不同project之间头文件的相互调用
  20. python 堆叠柱状图 多列 复杂_[Python Study Notes]堆叠柱状图绘制

热门文章

  1. DevExpress 隐藏Ribbon中barbuttonItem的SuperTip(2)
  2. 【转】Android 平台下使用 i2c-tools
  3. 【翻译】InterlockedIncrement内部是如何实现的?
  4. Eclipse中在refernced Libraries里面加jar包与在WEB-INF/lib下加jar包的区别
  5. 技术重要还是能力重要?和大学生的MSN讨论记录
  6. 【OpenCV学习笔记】【编程实例】四(获取一个或多个感兴趣区域)
  7. 速读-A3基于注意力机制的神经网络处理器
  8. MATLAB中SVM(支持向量机)的用法
  9. MATLAB 图像处理基础(1)
  10. 动态规划题目-------蓝桥杯真题-------蓝桥杯备战