1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________
A.if、while和for; 、do-while和for;
C.while、do-while和for;D.顺序结构、分支结构和循环结构。
2.算法的特征不包括:______。
A.有穷性 可行性 确定性 有1个或者多个输入。
3.C语言源程序的基本组成单位是______。
A.函数 语句 声明和语句 文件
4.下列标识符中,只有______是合法的。
A.if B. 3ab C. Int D. A-4
5.下列常量中,只有______是合法的。
A.3e-0.3 B. ‘abc’ C. 02a1‘\\377’
6.下列说法中正确的是:______。
A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。
B.宏替换比函数调用的执行速度慢。
C.实质上,C语言中的指针就是一个变量的地址。
D.C语言中的任何函数都可以由程序员命名。
7.C语言中,运算对象必须是整型的运算符是_______。
A./ B. % C. + D. -
8.以下叙述中错误的是_______。
A.C语句必须以分号结束
B.复合语句在语法上被看作一条语句
C.空语句出现在任何位置都不会影响程序运行
D.赋值表达式末尾加分号就构成赋值语句
9.以下叙述中正确的是_______。
A.调用printf函数时,必须要有输出项
.使用putchar函数时,必须在之前包含头文件stdio.h
.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
10.以下关于函数的叙述中正确的是_______。
A.每个函数都可以被其它函数调用(包括main函数)
.每个函数都可以被单独编译
.每个函数都可以单独运行
.在一个函数内部可以定义另一个函数
11.有以下程序段typedef struct NODE{
int num;
struct NODE *next;
以下叙述中正确的是_______。
.以上的说明形式非法
.NODE是一个结构体类型
.OLD是一个结构体类型
.OLD是一个结构体变量
12.以下叙述中错误的是_______。
A.C语言中对二进制文件的访问速度比文本文件快
.C语言中,随机文件以二进制代码形式存储数据
.语句 FILE fp; 定义了一个名为fp的文件指针
.C语言中的文本文件以ASCII码形式存储数据
13.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是_______。
A.k%2 B. k%2==1..!k%2==1
14.以下不能正确计算代数式值的C语言表达式是_______。
A.1.sin(0.5)*sin(0.5)/3
.p.1/3.0*pow(sin(1.0/2),2)
15.以下能正确定义且赋初值的语句是_______。
A.i.char c=32;
C.f.double x=12.3E2.5;
16.以下程序的功能是:当a#include void main() a,b,c; %d%d%d”,&a,&b,&c); “%o%o%o”,a,b,c); } 程序不能得到正确结果的的原因是_______。 .注释语句书写位置错误 .a、b、c不能以八进制进行输出 .没有按照八进制进行输入 .if语句的条件表达式错误 17.设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是_______。 A.k.-.k.k>=f>=m 18.设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是_______。 A.(.(aC.a.a||(b+b)&&(c-a) 19.有以下程序段int k=0,a=1,b=2,c=3; 执行该程序段后,k的值是_______。A.3 .2 .1 .0 20.设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句 else y=1; 该语句所表示的含义是_______。 . . . D. 一、阅读程序,写出下列程序的运行结果。(20分) 1、已知字母A的ASCII码为65。 #include void main(){ char a, b; a='A'+'5'-'3'; b=a+'6'-'2' ; printf("%d %c\\n", a, b);} 2、#include void f(int v, int w) { int t; t=v;v=w;w=t;} void main(){ int x=1,y=3,z=2; else if (y>z) else printf(“%d,%d,%d”,x,y,z);} 3、#include void main(){ int a[4][4]={{3,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,12,-33,0}}; int i,j,s=0; for(i=0;i<4;i++) { for(j=0;j<4;j++) { if(a[i][j]<0) continue; if(a[i][j]= =0) break; s+=a[i][j] } } printf("%d\\n",s);} 4、#include void main(){ int a=100,b=10; int *p1=&a, *p2=&b; *p1=b; *p2=a; printf(“%d, %d,”,a,b); printf(“%d, %d\\n”,*p1,*p2);} 二、程序改错:找出下列程序存在的错误,并进行改正。(20分) 1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。 void main(){ int r; float s; scanf("%d",r); s=PI*r^2; printf("s=%f\\n",s);} 2、以下程序用于计算一个一维数组各元素平方根的和。 #include #include void main(){ =10;i++) i=0; while (i<=9)){ 3、以下程序用于通过指针对数组进行输入和输出 #include void main(){ “%d”,p++); “%5d”,p++);} 4、以下程序通过判断输入的成绩判断其级别:其中90分以上为A,80分以上为B,70分以上为C,60分以上为D,其他为E。 #include void main(){ “A”); “B”); “C”); “D”); “E”);}} 三、程序填空题:阅读程序,填充空白使之能完成预定功能。(10分) 1、以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 void main() int t=0,s,i; _________; for( i=1; i<=5; i++) { s=s+t; } printf("s=%d\\n",s); } 2、以下程序的功能是输出如下形式的方阵: 5 6 7 8 1 2 3 4 请填空。#include void main() int i,j,x; for(i=1; i<=4; i++) { x=(j-1)*4 + ______; printf("%4d",x); } printf("\\n"); }} 四、编程题(要求给出PAD图或者N-S图)(30分) 1、设计一个C函数,对输入的a、b两个整型参数,返回其中的最小数。利用main函数调用该函数,并输出结果。 2、编程输入10个学生5门课程的成绩,实现: ①计算每个学生的平均分; ②计算每门课程的平均分; ③计算平均方差:,其中xi为第i个学生的平均分。 3、编写一个C程序,求解n!。要求分别用非递归程序和递归程序实现。 一、选择题。DDACD 二、程序阅读题 (每个5分,共20分) 1、67 G 2、1、4、10,10,10,1 程序改错题 (每个5分,共20分) 1、第一个错误:scanf(“%d”,r)应为scanf(“%d,&r”)。 第二个错误:s=PI*r^2应为s=PI*r*r。 2、第一个错误:for循环中的第二个表达式应为 i<10。 第二个错误:sum未赋初值,应加入:sum=0; 3、应该在第二个for之前加入:p=a; 4、应该在每个case语句之后加入break; 三、程序填空题(每个5分,共10分) 1、s、j>0;i 四、编程题 五、1、#include void main(){ “%d %d”,&a,&b); printf(“%d”,min(a,b)); } 2、#include void main(){ float score[10][5], stuave[10],courseave[5],fangcha; “Please input the scores :”); “%f”,&a[i][j]); stuave[i]/=5.0; temp1+=stuave[i]*stuave[i]; temp2+=stuave[i]; } “the average scores of each student are: ”); “%5.2f”,stuave[i]); “the average scores of each course are: ”); “%5.2f”,courseave[i]); “the fangcha is %5.2f”,fangcha);} 3、非递归方法 #include void main(){ int n,i=0; long fac=1; scanf(“%d”,&n); while (i } printf(“%ld”,fac); } 递归方法: #include long fac(int n){ } void main(){ scanf(“%d”,&n); printf(“%ld”,fac(n)); }下载本文