C语言实验指导

孝感学院-物电学院实验中心

C. 33 D. 24

5.已知数组a[3][4],若给a[1][2]赋值5 ,下列操作正确的是() A. a=5 B. *a[1]=5 C. a[2]={0,5,3,4} D. *(a[1]+2)=5 6.文件包含的含义是指()

A.定义常量 B. 定义变量 C. 引入已说明的函数 D. 引入标准函数 7.以下变量命名合法的是() A. M.john B. $123 C. lotus1_2_3 D. 8.下面关于”A”的说法正确的是()

A. 它代表一个字符常量 B. 它代表一个字符串常量 C. 它代表一个字符a D. 它代表一个变量 9.以下语句执行后变量c的结果是()

int a=7,b=2; float c; c=a/b;

A. 3.5 B. 3 C. 3.0 D. 1

10. 设定如下变量,则表达式5+?b?+i*f-d/e-?a?的结果是()

int i; float f; double d; long int e;

A. 浮点型 B. 长整型 C. 整型 D. 双精型 11. 以下不正确的定义语句是() A. double x[5]={2.0,4.0,6.0,8.0,9.0}; B. int y=[5]={0,1,3,5,7,9}; C. char c1[ ]={?1?,?2?,?3?,?4?,?5?}; D. char c2[ ]={?\\x10?,?\\x1?,?\\x8?};

12.指出哪一个不是C语言的赋值语句() A. int a=1,b=3; B. i++; C. a=b=5; D. y=int(i); 13. 以下哪一个是无限循环的语句为()。 A. for (y=0,x=0;x>=++y;x++); B. for (x=1;;x++);

C. i=15; while (x>10) { x--;} D. for (i=10;i>5;i--) sum+=i;

二.写出下列程序的运行结果(每题3分,共15分) 1.#include “stdio.h”

main() {

int i;

34

纸上得来终觉浅,绝知此事要躬行

孝感学院-物电学院实验中心

for (i=1;i<=5;i++) { if (i%2) printf(“*”); else continue ; printf(“#”); }

printf(“$\\n”); } 2. main()

{

int i;

void function(void); for (i=0;i<3;i++) function(); }

void function(void) {

int i=1,j=1; static int k=1; i++;j++;k++;

printf(“%d,%d,%d”,i,j,k); }

3. float x=1.0,y=2.0,z;

main() {

double fun(void); z=fun();

printf(“%f,%f,%f\\n”,x,y,z); }

double fun(void) { int y,z; x=y=z=3.0; return(x+y+z); }

4. main()

{

int i=1,k=0; while (i--) k=k+k; printf(“k=%d\\n”,k); } 5.main()

{

int i,sum; i=1;

35

纸上得来终觉浅,绝知此事要躬行

孝感学院-物电学院实验中心

for(sum=1;i<=5;i++,sum--) sum*=sum; printf(“%d”,sum); }

三 编程(共59分)

1.设有一个字符串“This is a computer” ,请编程求字符“i”首次出现的位置。(8分) 2. 试编程求3*3二维数组中最大元素及其所在的行、列位置。(12分)

3.编写程序,计算并输出下面级数在求和过程中第一次出现和数大于999时的奇数项部分和OS2。(其中^表示幂运算)

1*2-2*3+3*4-4*5+……+(-1)^(n-1)*n*(n+1)+ ……(13分)

4.有一张由9个学生每人8个数据组成的二维数据表。编写程序,要求将学生的总成绩按降序(由大到小)排列,计算并输出总分第二名学生的平均成绩。(13分) 姓名 学号 年龄 政治 语文 数学 计算机 体育 总分 李明 1 19 81 89 99 98 87 小龙女 2 16 89 90 95 80 90 王英 3 17 91 77 88 95 78 赵锐 4 18 79 84 95 93 96 周密 5 15 95 92 98 99 93 吴川 6 17 78 88 85 86 80 孙康 7 14 91 85 94 82 88 郑重 8 15 90 92 94 90 95 胡琴 9 16 75 85 87 94 90

5.已知在正文文件da1.dat中,每个记录只有两项数据,第一项为一整数表示学生的学号,第

二项为形如xx.x的一个实数,试统计计算并向文件t2.dat输出60分以上(含60分)的人数占总人数的比例R。(13分)

模拟试题三

一 选择题(每题2分 共20分) 1.下面关于”A”的说法正确的是()

A. 一个字符常量 B. 一个字符串常量 C. 一个字符a D. 一个字符变量

2.使用字符串函数时,必须将()头文件包含在主程序中

A. “stdio.h” B. ”string.h” C. “math.h” D. ”stdlib.h” 3.下面关于?\\\\?的说法不正确的是()

A. 转义字符 B. 起换行作用 C. 能用于输出语句 D. 也能用于打印机 4.C程序是由()构成

A. 数据文件 B. 文本文件 C. 函数 D. 主函数和其他函数 5.下列关于函数的说法哪些是错误的()

A. 可以单独执行 B. 可以嵌套调用

C. 可以定义在主函数之前或之后

36

纸上得来终觉浅,绝知此事要躬行

孝感学院-物电学院实验中心

D. 数组可以作为函数的参数

6.一般情况下,C语言是以()表示运算结果为逻辑真。

A. F B. T C. 1 D. 0

7.以下变量名()是合法的。 A. continue B. $123 C. lotus_2_3 D.

8.一个C语言程序总是从()开始执行的。 A. 主过程 B. 主函数 C. 子函数 D. 按书写顺序

9.PC机中,C语言的int,char,float所占用的内存为()字节。 A. 1, 2, 4 B. 2,2,2 C. 2,1,4 D. 2,2,4

10. 若k为float型,则下列程序执行结果为() k=2.0; while (k!=0) {

printf(“%d”,k); k--; }

printf(“\\n”);

A. 无限多次 B. 0次 C. 1次 D. 2次

二 按题目要求填空完善下列程序(每题6分,共24分) 1. 按逆序输出一个字符串

Void reversr(str) Char str[]; {

int len.i; char c; len=①;

for (i=0;i<②;i++) { c=③;

str[i]=str[len-i-1]; ④=c; } }

#include main() {

char string[256]; gets(string); reverse(string); puts(string);

37

纸上得来终觉浅,绝知此事要躬行

联系客服:779662525#qq.com(#替换为@)