成都信息工程学院C语言考试题及答案

时间:2019-05-12 17:59:14下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《成都信息工程学院C语言考试题及答案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《成都信息工程学院C语言考试题及答案》。

第一篇:成都信息工程学院C语言考试题及答案

编写一程序P111.C实现以下功能

x(x只考虑整数int且必须定义为int、但F(x)完全可能超过int的表示范围)通过键盘输入(输入前给出提示Please input x:),然后计算并在屏幕上输出函数值。编程可用素材:printf(“Please input x: ”)...、printf(“nF(...)=...”...。

┌-5x+27(x<0)

F(x)= ├ 7909(x=0)

└ 2x-1(x>0)

程序的运行效果应类似地如图1所示,图1中的3是从键盘输入的内容。#include

int main(void){

int x;

/* 从键盘上读入x的值 */ printf(“Please input x:”);//在屏幕上显示提示输入x的信息,告诉用户需要scanf(“%d”, &x);

/* 根据题目里给出的计算公式计算F(x)*/ if(x < 0){ } else if(0 == x)//否则,若x等于0 { } else { } Fx = 2.0 * xdata2;break;result =(double)data1 * data2;break;if(0 == data2){

} else { } break;if(0 == data2){

} else { printf(“n%d%c%d=%.2f”, data1, op, data2,(double)data1 / dataprintf(“nError!chu shu wei 0.n”);exit(1);result = data1 % data2;printf(“nError!chu shu wei 0.n”);exit(1);case '-': case '*': case '%': case '/':

}

} } return 0;printf(“n%d%c%d=%fn”, data1, op, data2, result);return 0;编写一程序P702.C实现以下功能

输入月份,打印2003年该月有几天。当输入的月份超范围时,应显示“Invalid month input”。编程可用素材:printf(“please input the month number: ”)...、printf(“nInvalid month input!n”)...、printf(“n 2003....has...daysn”...。

程序的运行效果应类似地如图1和图2所示,图1中的4和图2中的13是从键盘输入的内容。#include

int main(void){

switch(month){

case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31;break;printf(“please input the month number: ”);scanf(“%d”, &month);int month, day;case 4:

}

} case 6: case 9: case 11:

day = 30;break;day = 28;break;day =-1;case 2: default : if(-1 == day){ } else { } return 0;printf(“n 2003.%d has %d daysn”, month, day);printf(“nInvalid month input!n”);编写一程序P703.C实现以下功能

已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下(计量单位:元):

profit≤1000

没有提成; 1000<profit≤2000

提成10%; 2000<profit≤5000

提成15%; 5000<profit≤10000

提成20%; 10000<profit

提成25%。

请根据输入的利润计算员工的薪水。编程可用素材:printf(“Input profit: ”)...、printf(“nsalary=...n”...。

程序的运行效果应类似地如图1所示,图1中的2000是从键盘输入的内容。#include

int main(void){

int profit, grade;double salary = 500;

printf(“Input profit: ”);scanf(“%d”, &profit);

grade =(profit32);/* 将计算结果按题目的要求输出 */ printf(“nF(%.2f)=C(%.2f)”, fF, fC);return 0;编写一程序P710.C实现以下功能

输入一个小写英文字母,首先输出它及其ASCII码,然后输出其对应的大写字母及其ASCII码。编程可用素材:printf(“Input a lowercase letter: ”)...、printf(“n...(...)...。

程序的运行效果应类似地如图1所示,图1中的y是从键盘输入的内容。

编写一程序P711.C实现以下功能

用scanf输入圆半径r,圆柱高h,求圆周长C1(=2πr)、圆面积S(=πr2)、圆柱体积V(=πr2h)。(注意:本题中规定圆周率取值为3.14)

程序的运行效果应类似地如图1所示,图1中的r=1.3,h=5是从键盘输入的内容。

编写一程序P712.C实现以下功能

判断输入的正整数是否既是5又是7的整倍数,若是,则输出“Yes.”;否则输出“No.”。

程序的运行效果应类似地如图1和图2所示,图1中的75和图2中的105是从键盘输入的内容。#include

int main(void){ int iNum;

} 编写一程序P713.C实现以下功能

用scanf输入某年某月某日,判断这一天是这一年的第几天?以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份≥3时需考虑多加一天。注:判断年份是否为闰年的方法——为400的倍数为闰年,如2000年;若非100的倍数,而是4的倍数,为闰年,如1996年。编程可用素材:printf(”Please input: year-month-dayn“)...、printf(”nIt is the...th day.n“...。

程序的运行效果应类似地如图1所示,图1中的2000-3-1是从键盘输入的内容。

#include

int main(void){

switch(month)printf(”Please input: year-month-dayn“);scanf(”%d-%d-%d“, &year, &month, &day);int day, month, year, sum;return 0;if((iNum%5 == 0)&&(iNum%7 == 0)){ } else { } printf(”nNo.“);printf(”nYes.“);printf(”Please input an integer:“);scanf(”%d“, &iNum);

{

case 1:

sum = 0;break;sum = 31;break;sum = 59;break;sum = 90;break;sum = 120;break;sum = 151;break;sum = 181;break;sum = 212;break;sum = 243;break;sum = 273;break;sum = 304;break;case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11:

}

} case 12: sum = 334;break;default: printf(”data error“);break;sum += day;if((year%400==0 || year%4==0 && year%100!=0)&& month>2){ } printf(”nIt is the %dth day.n“, sum);return 0;sum++;编写一程序P720.C实现以下功能

输入实型数据a,b,然后输出a、b的值。

程序的运行效果应类似地如图1所示,图1中的5.79,6.8723是从键盘输入的内容。

编写一程序P721.C实现以下功能

从键盘输入x,y,z的值,编写程序输出以下表达式的值: x+z%3*(int)(x+y)%2/4

程序的运行效果应类似地如图1所示,图1中的2.5,4.7,7是从键盘输入的内容。

编写一程序P722.C实现以下功能

从键盘输入一日期,年月日之间以“-”分隔,并以同样的形式但以“/”作分隔符输出。

程序的运行效果应类似地如图1所示,图1中的2009-12-9是从键盘输入的内容。

#include

int main(void){

} 编写一程序P723.C实现以下功能

输入三角形的三边长a、b、c(边长可以是小数),求三角形面积area,并输出。如果输入的三边构不成三角形,应给出“data error”的信息提示。注:根据“海伦-秦九韶”公式,area=√p(p-a)(p-b)(p-c),其中p=(a+b+c)/2。编程可用素材:printf(”nplease input triange sides:“)...、printf(”ndata errorn“)...、printf(”narea=...n“...。

程序的运行效果应类似地如图1和图2所示,图1中的3,4,5和图2中的3,4,8是从键盘输入的内容。#include #include

int main(void){

if(bianA<0 || bianB<0 || bianC<0 printf(”nplease input triange sides:“);scanf(”%lf,%lf,%lf“, &bianA, &bianB, &bianC);double bianA, bianB, bianC, area, pABC;return 0;printf(”nthe date is:%d/%d/%d“, iYear, iMonth, iDay);printf(”please input a date:“);scanf(”%d-%d-%d“, &iYear, &iMonth, &iDay);int iYear, iMonth, iDay;

} { } ||(bianA+bianB <= bianC)||(bianA+bianC <= bianB)||(bianB+bianC <= bianA))printf(”ndata errorn“);else {

} return 0;pABC = 1.0f / 2 *(bianA + bianB + bianC);area = sqrt(pABC *(pABCbianB)*(pABC5007、P115 25 * 30、P115 25 / 30、P115 25 %

9、P115 25 x

22、P115 100 +和P115 100 + 330 =是从命令行输入的内容(注:图中的Pxxxxx表示随考生题号变换的内容,在本套试卷中,请考生在阅读时将图中的Pxxxxx视作P115)。#include #include

int main(int argc, char *argv[]){

switch(argv[2][0]){

case '+' :

result = num1 + num2;break;result = num1hn;sn = sn + hn;hn = hn / 2;sn = sn + hn;printf(”Please input n:“);scanf(”%d“, &n);int i, n;double sn, hn;} return 0;编写一程序P716.C实现以下功能

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字(可取1~9之间的一个值)。例如2+22+222+2222+22222(此时共有5个数相加),其中a值和有几个数相加由键盘输入控制。注意s的值有可能超出int的范围,编程可用素材:printf(”Please input a,n: “)...、printf(”a+aa+...=...n“...。

程序的运行效果应类似地如图1所示,图1中的2,3是从键盘输入的内容。#include

int main(void){

} 编写一程序P745.C实现以下功能

输入两个正整数m和n,求其最大公约数和最小公倍数。注:最大公约数也称最大公因子,指某几个整数共有因子中最大的一个;两个整数公有的倍数称为它们的公倍数,其中最小的一个正整数称为它们两个的最小公倍数。编程可用素材:printf(”please input two integer numbers: “)...、printf(”nthe greatest common diprintf(“a+aa+...=%.0fn”, sn);return 0;while(count <= n){

} tn = tn + valA;sn = sn + tn;valA = valA * 10;count++;printf(“Please input a,n: ”);scanf(“%lf,%d”, &valA, &n);int n, count=1;double valA, sn=0, tn=0;visor is...n“...、printf(”the least common multiple is...n“...。

程序的运行效果应类似地如图1所示,图1中的35 15是从键盘输入的内容。#include #include

int main(void){

} 编写一程序P831.C实现以下功能

某班有40位同学参加考试,成绩(整数)从键盘输入,求全班最高分、最低分以及平均分,并统计该班同学的考试及格率。编程可用素材:printf(”n请输入40位同学的成绩:“)...、printf(”n最高分:...最低分:...平均分:...及格率:...。return 0;printf(“nthe greatest common divisor is %dn”, zdGys);printf(“the least common multiple is %dn”, zxGbs);zdGys = min(m, n);while(m % zdGys!= 0

||

n%zdGys!= 0){ }

zxGbs = max(m, n);while(zxGbs % m!=0

||

zxGbs % n!= 0){ } zxGbs++;zdGys--;printf(“please input two integer numbers: ”);scanf(“%d%d”, &m, &n);int m, n, zdGys, zxGbs;

程序的运行效果应类似地如图1所示,图1中的99 81 71 81 77 94 100 67 66 44 75 49 47 45 65 74 73 74 63 69 72 77 65 79 84 73 46 62 68 42 75 62 65 66 62 69 44 62 84 77是从键盘输入的内容。#include

#define SIZE 40

int main(void){

/*求最大、最小、分数总和,统计及格人数*/ max = scores[0];min = scores[0];aver = 0;count = 0;for(i = 0;i < SIZE;i++){

if(scores[i] > max){ } else if(scores[i] < min){ min = scores[i];max = scores[i];/*从键盘接收数据*/ printf(“n请输入%d位同学的成绩:”, SIZE);for(i = 0;i < SIZE;i++){ } scanf(“%d”, &scores[i]);int scores[SIZE], i;int max, min, count;double aver, rate;

}

aver += scores[i];

if(scores[i] >= 60)

{

count++;

} }

/*求平均分和及格率*/ aver = aver / 40;rate =(double)count / 40;

/*输出结果*/ printf(“n最高分:

%dn最低分: n”, max, min, aver, rate*100);

return 0;}

%dn平均分: %.1fn及格率: %.0f%%

第二篇:C语言考试题及答案

C语言考试题

一、单项选择题(每题2分,共40分)

1、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)

A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性

2、C语言中最简单的数据类型包括(B)

A、整型、实型、逻辑型B、整型、实型、字符型

C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型

3、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)

A、6.500000B、6

C、5.500000D、6.0000004、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUT x、y、z;B、scanf(“%d%d%d”,&x,&y,&z);

C、scanf(“%d%d%d”,x,y,z);D、read(“%d%d%d”,&x,&y,&z);

5、设 intx=1, y=1;表达式(!x||y--)的值是(B)。

A、0B、1C、2D、-

16、对两个字符数组a和b进行初始化char a[]=“ABCDEF”;char b[ ]={'A','B','C','D','E','F'};则以下叙述正确的是(D)。

A、a与b数组完全相同B、a与b长度相同

C、a和b中都存放字符串D、a数组比b数组长度长

7、为了避免在嵌套的条件语句if――else中产生二义性,c语言规定:else子句总是与(B)配对。

A、缩排位置相同的ifB、其之前最近的ifC、其之后最近的ifD、同一行上的if8、下面不正确的字符串常量是(A)

A、'abc'B、“12'12”C、“0”D、“"

9、以下错误的if语句是(C)。

A、if(x>y)z=x;

B、if(x= =y)z=0;

C、if(x!=y)printf(”%d“,x)else printf(”%d“,y);

D、if(x

10、若有说明:inta[3][4];则对a数组元素的非法引用是(D)。

A、a[0][2*1]B、a[1][3]C、a[4-2][0]D、a[0][4]

11、程序char c[5]={‘a’,’b’,’’,’c’c,’’};printf(“%s”,c);}的运行结果是(D)。

A、'a''b'B、abC、ab cD、ab12、一个C程序的执行是从(A)。

A、本程序的main函数开始,到main函数结束

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C、本程序的main函数开始,到本程序文件的最后一个函数结束

D、本程序文件的第一个函数开始,到本程序main函数结束

13、若变量已正确定义,以下非法的表达式是(B)

A、a/=b+cB、a%(4.0)C、a=1/2*(x=y=20,x*3)D、a=b=c14、判断字符串a是否大于b,应当使用(D)。

A、if(a>b)B、if(strcmp(a,b))C、if(strcmp(b,a)>0)D、if(strcmp(a,b)>0)

15、以下关于运算符优先顺序的描述中正确的是(C)。

A、关系运算符<算术运算符<赋值运算符<逻辑与运算符

B、逻辑与运算符<关系运算符<算术运算符<赋值运算符

C、赋值运算符<逻辑与运算符<关系运算符<算术运算符

D、算术运算符<关系运算符<赋值运算符<逻辑与运算符

16、使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:(A)

A、a=2.2,b=3B、a=2.2 b=3C、2.2 3D、2.2,317、表示关系12<=x<=y的C语言表达式为:(B)

A、(12<=x)&(x<=y)B、(12<=x)&&(x<=y)C、(12<=x)|(x<=y)D、(12<=x)||(x<=y)

18、语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b);scanf最多可执行次数为:(C)

A、4B、6C、5D、119、设有如下定义:struct jan{int a;float b;}c2,*p;若有p=&c2;则对c2中的成员a的正确引用是:(B)

A、(*p).c2.aB、(*p).aC、p->c2.aD、p.c2.a20、下列程序的输出结果是(C)。

main()

{ int a=7,b=5;

printf(”%dn“,b=b/a);

}

A、5B、1C、0D、不确定值

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

1、一个C源程序中至少应包含一个main函数。

2、a是整型变量,则执行表达式a=25/3%3后a的值为。

23、C语言中的数组必须先定义,然后使用。

4、如果需要从被调用函数返回一个函数值,被调用函数必须包含return语句。

5、下面程序的运行结果是。

#include

main()

{ int i,x,y;

i=x=y=0;

do {++i;

if(i%2!=0){x=x+i;i++;}

y=y+i++;

} while(i<=7);

printf(”x=%d,y=%dn“,x,y);

}

运行结果是:x=1,y=206、引用C语言标准库函数,一般要用文件包含预处理命令将其头文件包含进来。

7、在C语言程序中,符号常量的定义要使用宏定义预处理命令。

8、逻辑运算符!是自右至左结合性。

9、在一个C源程序中,注释部分二侧的分界符为。/*和*/

10、C语言标识符由字母、数字和下划线来构造。

11、若int x=5;while(x>0)printf(“%d”,x--);的循环执行次数为5。

12、若有说明和语句:int a=5,b=6,y=6;b-=a;y=a++则b和y的值分别是1、20。

13、C程序设计的三种基本结构是顺序结构、选择结构、循环结构。

14、数组是表示类型相同的数据,而结构体则是若干类型不同数据项的集合。

15、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式。x

三、判断题(每题1分 共10分)

1、C语言程序总是从main()函数开始执行。(T)

2、执行程序段int a=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf(“%d %d %dn”,k,a,b);后的输出结果是004。(T)

3、C语言程序由函数组成,它的主函数必须在其它函数之前,函数内可以嵌套定义函数。(F)

4、用C语言实现的算法可以没有输出但必须要有输入。(F)

5、C语言本身有输入输出语句。(F)

6、若有int a[3][5]={2,2},{2,6},{2,6,2}},则数组a共有7个元素。(F)

7、int a=24;printf(”%o “, a);输出结果是30。(T)

8、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是整形。(T)

9、在C语言中,字符串常量是用双引号括起来的一串字符。(T)

10、若有int a[5],*p=a;则p+2表示第2个元素的地址。(F)

四、编程题(每题5分,共20分)

1、计算并输出200-400之间不能被3整除的整数的和

#include

void main()

{int i,sum=0;

for(i=200;i<=400;i++)if(i%3!=0)sum=sum+i;printf(”%dn“,sum);

}

2、输入5个数,求和并输出。要求编写求和的函数。

#include

void main()

{

int b(int x[],int n);int sum=0;int a[5]={1,2,3,4,5};sum=b(a,5);

printf(”sum=%dn“,sum);

}

int b(int x[],int n)

{

int i,sum=0;for(i=0;i<5;i++)sum=sum+x[i];

return sum;

}

3、输入3个学生4门课的成绩{(60,70,65,75),(75,80,75,90),(95,75,90,65)},计算每个

学生的总分和平均成绩并输出,结果保留一位小数

#include

void main()

{int a[3][4]={{60,70,65,75},{75,80,75,90},{95,75,90,65}};int i,j;

float average,sum=0.0;

printf(”三个学生的总分和平均成绩依次为:n“);

for(i=0;i<3;i++){sum=0.0;} for(j=0;j<4;j++)sum=sum+a[i][j];average=sum/4;printf(”%.2f,%.2fn“,sum,average);

}

4、起泡法(选择法)对十个数排序

#include

void main()

{

} int i,j,t;int a[10];printf(”请输入10个数:n“);for(i=0;i<10;i++)scanf(”%d“,&a[i]);for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;} for(i=0;i<10;i++)printf(”%d “,a[i]);printf(”n");

第三篇:C语言程序设计考试题答案

1、已知int i, x[3][4];则不能将x[1][1]的值赋给变量i的语句是______(分数:2 分)

A.i=*(*(x+1))B.i=x[1][1] C.i=*(*(x+1))D.i=*(x[1]+1)标准答案是:A。

2、当c的值不为0时,在下列选项中能够将c的值赋给变量a、b的是______.(分数:2 分)

A.a=c=b;B.(a=c)&&(b=c);C.c=b=a;D.(a=c)||(b=c);标准答案是:B。

3、函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是______。(分数:2 分)

A.fund(int *x, int *y){ *x=*x+*y;*y=*x-*y;*x=*x-*y;} B.funb(int x, int y){ int t;t=x;x=y;y=t;} C.funa(int *x, int *y){ int *p;*p=x;*x=*y;*y=*p;} D.func(int *x, int *y){ *x=*y;*y=*x;} 标准答案是:A。

4、若x=2,y=3则x||y的结果是______(分数:2 分)

A.0 B.3 C.1 D.2 标准答案是:C。

5、已知int a[10];则对a数组元素的正确引用是______(分数:2 分)

A.a[10] B.a[3.5] C.a[10] D.a(5)标准答案是:C。

二、多选

1、若定义:int a【2】【3】{0,2,4,6,8,10};以下描述正确的有______(分数:3 分)A.*(a+1)为元素6的地址 B.*(a【1】+1)的值为2 C.**(a+1)+2的值为8 D.a【0】与a的相同 标准答案是:ABCD。

2、在缓冲文件系统中用于读写的函数有______(分数:3 分)A.putchar()B.fread()C.rewind()D.purw()标准答案是:ABD。

3、指出下面合法的标识符______(分数:3 分)A.3ab B.ABC C.a_3 D._stu2 标准答案是:ABC。

4、指出下面哪些是合法的用户定义的标识符______(分数:3 分)A.P-S B._908 C.wind D.x y 标准答案是:BC。

6、这段程序中的常量有:#define PI 3.14;void main(){ int sum;sum = 10 + 15;printf(“sum=%dn”,sum);printf(“result is 25n”);}这段程序中常量有______(分数:3 分)A.10 B.sum C.15 D.PI 标准答案是:ACD。

1、说明语句int *(*p)();的含义是______(分数:2 分)

A.p是一个指向int型数组的指针 B..p是指针变量,它构成了指针数组

C.p是一个指向函数的指针,该函数的返回值是一个整型

D.p是一个指向函数的指针,该函数的返回值是一个指向整型的指针 标准答案是:D

2、已知int a, *p=&a;则下列函数调用中错误的是______(分数:2 分)

A.scanf(”%d”, &a);B.scanf(”%d”, p);C.printf(”%d”, a);D.printf(”%d”, p);标准答案是:D。

3、在C语言中,字符型数据在内存中的存储形式是______(分数:2 分)

A.原码 B.补码 C.反码 D.ASCII码 标准答案是:D。

4、已定义以下函数:fun(int *p){ return *p;}该函数的返回值是______(分数:2 分)

A.不确定的值

B.形参p所指存储单元中的值 C.形参p中存放的值 D.形参p的地址值 标准答案是:D。

5、()已知char b[5],*p=b;,则正确的赋值语句是(分数:2 分)A.b=“abcd”;B.*b=“abcd”;C.p=“abcd”;D.*p=“abcd”;标准答案是:C。

二、多选

1、如果要把常量327存入变量a中,a可以定义成哪些类型?______(分数:3 分)A.int B.char C.long D.float 标准答案是:ACD。

2、下面哪些写法是对的,而且是常量?______(分数:3 分)A.125 B.-0.456 C.1.25E+20 D.'AB' 标准答案是:AC。

3、指出下面错误的表达式______(分数:3 分)A.a+b=5 B.56=a11 C.i=i++ D.5.6+6.2%3.1 标准答案是:ABD。

4、若变量f已说明为float类型,i为int类型,则下面哪些表达式(或语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的运算?______(分数:3 分)A.f=(f*100+0.5)/100.0 B.i=f*100+0.5,f=i/100.0;C.f=(int)(f*100+0.5)/100.0;D.f=(f/100+0.5)*100.0;标准答案是:BC。

5、已知a为整型变量,那么与表达式a!=0真假值情况相同的表达式有哪些?______(分数:3 分)A.a>0||a<0 B.a C.!a==0 D.!a 标准答案是:ABC。

1、()若有以下定义:char s[20]= “programming”,*ps=s;则不能代表字符g的表达式是(分数:2 分)A.ps+3 B.s[3] C.ps[3] D.ps+=3,*ps 标准答案是:B。

2、()当对两个字符串进行比较时,应该使用的函数是(分数:2 分)A.strcat B.strcmp C.strcpy D.strlen 标准答案是:B。

3、()strlen 11.若i为整型变量,则以下循环的次数是for(i=2;i==0;)printf(“%d”,i--);(分数:2 分)A.无限次 B.0次 C.1次 D.2次

标准答案是:B。

4、()以下关于数组的描述正确的是(分数:2 分)A.数组大小固定,但是可以有不同类型的数组元素 B.数组大小可变,但是所有数组元素的类型必须相同 C.数组大小固定,所有元素的类型必须相同 D.数组大小可变,可以有不同类型的数组元素 标准答案是:C。

5、()以下能正确定义数组并正确赋初值的语句是(分数:2 分)A.int N=5,b[N][N];B.int a[1][2]={{1},{3}};C.int c[2][]= {{1,2},{3,4}};D.int d[3][2]={{1,2},{34}};标准答案是:D。

二、多选

1、程序的结构可分为哪几类______(分数:3 分)A.顺序结构 B.循环结构 C.程序结构 D.选择结构

标准答案是:ABD。

2、已知a为整型变量,那么与表达式a!=0真假值情况相同的表达式有哪些?______(分数:3 分)A.a>0||a<0 B.a C.!a==0 D.!a 标准答案是:ABC。

3、已知a为整型变量,那么与表达式a!=0真假值情况相同的表达式有哪些?______(分数:3 分)A.a B.!a==0 C.!a D.a>0||a<0 标准答案是:ABD。

4、指出下面错误的表达式______(分数:3 分)A.a=5,b=6,c=7 B.i=i++ C.5.6+6.2%3.1 D.56=a11 标准答案是:BD。

5、下面哪些写法是对的,而且是常量?______(分数:3 分)

A.125 B.2.5E+21 C.AB' D.n'123 标准答案是:BD。

1、()选择正确的输入语句()。:(其中:char string[20];)使得string的内容为“I am student”.数:2 分)

A.scanf(“%s”, string);B.scanf(“%c”, &string);C.scanf(“%s”, &string);D.gets(string);标准答案是:D。

2、()对以下说明语句 int a[10]={6,7,8,9,10};的正确理解是(分数:2 分)A.将5个初值依次赋给a[6]至a[10] B.将5个初值依次赋给a[0]至a[4] C.因为数组长度与初值的个数不相同,所以此语句不正确 D.将5个初值依次赋给a[1]至a[5] 标准答案是:B。

3、()以下标识符中可以作为用户函数名的是(分数:2 分)A.struct B.int C.union D.go_to 标准答案是:D。

4、源程序要正确地运行,必须要有什么函数?______(分数:2 分)A.printf函数 B.自定义的函数 C.main D.不需要函数 标准答案是:C。

5C语言程序由什么组成?______(分数:2 分)A.子程序

B.主程序和子程序

(分C.函数 D.过程

标准答案是:C。

二、多选

1、下面哪些是合法的用户定义的标识符______(分数:3 分)A._908 B.*par C.sheep!D.wind 标准答案是:AD。

2、下面合法的标识符______(分数:3 分)A.ABC B.a_3 C.sum.a D._stu2 标准答案是:ABD。

3、C语言的主要特点有哪些?______(分数:3 分)A.简洁、紧凑,使用方便、灵活,易于学习和应用。B.C语言是面向结构化程序设计的语言。

C.C语言允许直接对位、字节和地址进行操作。D.数据类型丰富。标准答案是:ABCD。

4、已定义c为字符型变量,则下列语句中错误的是______(分数:3 分)A.c='97' B.:c=“97” C.c=97;D.c=“a” 标准答案是:ABD。

5下列选项中是C语言合法标志符的有______(分数:3 分)A.good_morning B.main C.stdio.h D.8abc 标准答案是:AB。

1、一个C程序的执行是从______(分数:2 分)

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序文件的第一个函数开始,到本程序main函数结束 标准答案是:A。

2、以下叙述正确的是______(分数:2 分)

A.在C程序中,main函数必须位于程序的最前面 B.C程序的每行中只能写一条语句 C.C语言本身没有输入输出语句 D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误 标准答案是:C。

3、以下叙述不正确的是。______(分数:2 分)

A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面 标准答案是:D。

4、语言规定:在一个源程序中,main函数的位置______(分数:2 分)

A.必须在最开始

B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 标准答案是:C。

5、一个C语言程序是由______(分数:2 分)

A.一个主程序和若干子程序组成 B.函数组成 C.若干过程组成 D.若干子程序组成 标准答案是:B。

二、多选

1、指出下面合法的标识符:______(分数:3 分)A.3ab B.ABC C.a_3 D._stu2 标准答案是:BCD。

2、指出下面哪些是关键字:______(分数:3 分)A.char B.abc C.printf D.float 标准答案是:AD。

3、指出下面哪些是合法的用户定义的标识符?______ A.P-S B.put11 C.printf D.Int 标准答案是:BD。

4、C语言的基本类型哪些:______(分数:3 分)A.整型 B.枚举型 C.数组型 D.指针型 分)(分数:标准答案是:AB。

5这段程序中的常量有:(#define PI 3.14;void main(){ int sum;sum = 10 +15;printf(“sum=%dn”,sum);printf(“result is 25n”);}这段程序中常量有______(分数:3 分)A.10 B.15 C.25 D.PI 标准答案是:ABD。1、75的十六进制写法为___,八进制写法为______(分数:2 分)A.0x4b 0113 B.0165 117 C.61 0x3d D.0x4b 61 标准答案是:A。2、0x75的八进制写法为___,十进制写法为___。(分数:2 分)A.0165 117 B.0x4b 0113 C.61 0x3d D.0x4b 61 标准答案是:A。3、075的十进制写法为___,十六进制写法为___。(分数:2 分)A.0x4b 0113 B.0165 117 C.61 0x3d D.0x4b 61 标准答案是:C。

4、下面哪个表达式的值为4______(分数:2 分)A.(float)11/3 B.2016/11/3 星期四上午 12:00:00 C.11.0/3 D.(int)(11.0/3+0.5 标准答案是:D。

5已知整型变量a=6,b=7,c=1,则下面表达式的值为多少?a+3______(分数:2 分)A.9 B.2 C.1 D.65 标准答案是:A。

二、多选

1、C语言中整形常量按进制划分,有以下几种:______(分数:3 分)A.十六进制常量 B.十进制常量 C.八进制常量 D.二进制常 标准答案是:ABC。

2、如果要把常量327存入变量a中,a可以定义成哪些类型?______(分数:3 分)A.int B.char C.float D.long 标准答案是:ACD。

3、下面哪些写法是对的,而且是常量?______(分数:3 分)A.125 B.-0.456 C.56 D.452.2 标准答案是:AB。

4、指出下面错误的表达式:______(分数:3 分)A.56=a11 B.a+b=5 C.i=i++ D.5.6+6.2%3.1 标准答案是:ABD。

5若变量f已说明为float类型,i为int类型,则下面哪些表达式(或语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的运算?______(分数:3 分)A.f=(f*100+0.5)/100.0 B.i=f*100+0.5,f=i/100.0 C.f=(int)(f*100+0.5)/100.0 D.f=(f/100+0.5)*100.0 标准答案是:BC。

1、在C语言中,要求运算数必须是整型的运算符是_____(分数:2 分)

A./ B.++ C.!= D.% 标准答案是:D。

2、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是______(分数:2 分)A.2.500OO B.2.7500OO C.2.3600OO D.2.0OO 标准答案是:B。

3、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为______(分数:2 分)A.int B.float C.double D.不确定 标准答案是:C。

4、在C语言中, char型数据在内存中的存储形式是:______(分数:2 分)

A.补码 B.反码 C.原码 D.ASCII码 标准答案是:D。

5、若有以下说明语句:char s='092';则下面哪一项是正确的______(分数:2 分)

A.使s的值包含2个字符 B.说明语句不合法

C.使s的值包含6个字符 D.使s的值包含4个字符 标准答案是:B。

二、多选

1、下面哪些是非法的C语言转义字符?_______(分数:2 分)A.'t' B.'8' C.'xaf' D.'' 标准答案是:BC。

2、请从下面的选项中选出正确的C语言的转义字符______(分数:2 分)A.''' B.'t' C.'n' D.'xaa' 标准答案是:ABCD。

3、以下符合C语言语法的赋值表达式是______(分数:2 分)A.d=9+e+f=d+9 B.d=9+e,f=d+9 C.d=9+e,e++,d+9 D.d=9+e++=d+7 标准答案是:BC。

4、sizeof(float)是______(分数:2 分)A.一个双精度型表达式 B.一个整型表达式 C.一种函数调用

D.一个不合法的表达式 标准答案是:AB。

5C程序的结构可分为哪几类?______(分数:2 分)A.顺序结构 B.循环结构 C.程序结构 D.选择结构 标准答案是:AB。

1、putchar函数可以向终端输出一个:______(分数:2 分)

A.整型变量表达式值 B.字符串 C.实型变量值 D.字符或字符型变 标准答案是:D。

2、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式______(分数:2 分)A.从左起输出该字串,右补空格 B.按原字符长从左向右全部输出 C.右对齐输出该字串,左补空格 D.输出错误信息 标准答案是:B。

3、已知static int a[2][3]={2,4,6,8,10,12};正确表示数组元素地址的是______(分数:2 分)

A.*(a[1]+2)B.a[1]+3 C.*(a+1)D.a[0][0] 标准答案是:C

4、函数调用strcat(strcpy(str1, str2), str3)的功能是______(分数:2 分)

A.将串str1复制到串str2中,然后再连接到str3之后

B.将串str2复制到串str1中,然后再将串str3连接到串str1之后 C.将串str2复制到串str1中,再将串str1连接到str3之后 D.将串str1连接到串str2之后,再复制到str3之中 标准答案是:B。

5、已知int a[10];则对a数组元素的正确引用是______(分数:2 分)

A.a[10] B.a[3.5] C.a(5)D.a[10] 标准答案是:D。

二、多选

1、若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是______(分数:3 分)

A.a=b=c=d=100 B.d++;C.c+b;D.d=(c=22)-(b++)标准答案是:ABD。

2、以下描述正确的是______(分数:3 分)

A.使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成 B.while循环是先判断表达式,后执行循环语句

C.do-while和for循环均是先执行循环语句,后判断表达式 D.for,while和do-while循环中的循环体均可以由空语句构成 标准答案是:ABD。

3、以下4个选项中,可以看作是一条语句的有______(分数:3 分)A.{;} B.a=0,b=0,c=0;C.if(a>0)D.if(b==0)m=1;n=2;标准答案是:ABC。

4、以下叙述正确的是______(分数:3 分)A.C语言严格区分大小写英文字母 B.C语言用“;”作为语句分隔符

C.C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上 D.可以使用/*…*/对C程序中的任何部分作注释 标准答案是:ABCD。

5下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是______(分数:3 分)A.只能是0或1 B.只能是0或非0正数 C.可以是整型或字符型数据 D.可以是任何类型的数据 标准答案是:ABD。

1、在C语言的if语句中,用作判断的表达式为______(分数:2 分)

A.关系表达式 B.逻辑表达式 C.算术表达式 D.任意表达式 标准答案是:D。

2、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数表达式的值为“假”。则以下不能满足要求的表达式是______(分数:2 分)A.A%2= =1 B.!(A%2 = =0)C.!(A%2)D.A%2 标准答案是:C。

3、已知char s[20]= ”programming”, *ps=s;则不能引用字母o的表达式是______(分数:2 分)A.ps+2 B.s[2] C.ps[2] D.ps+=2, *ps 标准答案是:A。

4、已知char b[5], *p=b;则正确的赋值语句是。______(分数:2 分)

A.b=”abcd” B.*b=”abcd”;C.p=”abcd”;D.*p=”abcd”;标准答案是:C。

5、已知int a[]={1,2,3,4,5,6,7,8,9,10,11,12}, *p=a;则值为3的表达式是______(分数:2 分)

A.p+=2, *(p++)B.p+=2, *++p C.p+=3, *p++ D.p+=2, ++*p 标准答案是:A。

二、多选

1、以下不符合C语言语法的实型常量是______(分数:3 分)A.1.2E0.5 B.3.14.159E C.0.005 D.E15 标准答案是:ABD。

2、以下叙述中正确的是______(分数:3 分)A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main()函数 C.C源程序的基本组成单位是函数

D.在C源程序中,注释说明只能位于一条语句的最后 标准答案是:ABD。

3、以下正确的if语句形式是______(分数:3 分)A.if(x>y && x!=y)B.if(x==y)x+=y C.if(x!=y)scanf(“%d”,&x)else scanf(“%d”,&y);D.if(x

4、以下选项中不是C语言合法整数的是______(分数:3 分)A.10110 B.386 C.0Xffa D.x2a2 标准答案是:BD。

5以下关于数组描述错误的是______(分数:3 分)

A.数组的大小是固定的,但可以有不同的类型的数组元素 B.数组的大小是可变的,但所有数组元素的类型必须相同 C.数组的大小是固定的,所有数组元素的类型必须相同 D.数组的大小是可变的,可以有不同的类型的数组元素 标准答案是:ABD。

1、设有定义:int x=12,n=5;则表达式x%=(n%2)的值为______(分数:2 分)

A.2 B.3 C.5 D.0 标准答案是:D。

2、针对下列程序段回答问题().for(t=1;t<=100;t++){scanf(“%d”,&x);if(x<0)______(分数:2 分)

A.x>=0时什么也不输出

B.最多允许输出100个非负整数 C.printf函数永远也不执行 D.当x<0时整个循环结束 标准答案是:B。

3、已知char b[5],*p=b;,则正确的赋值语句是______(分数:2 分)

A.b=“abcd”;B.*b=“abcd”;C.p=“abcd”;D.*p=“abcd”;标准答案是:C。

4、在C语言中,十进制数47可等价地表示为______(分数:2 分)

A.2f B.02f C.57 D.57 标准答案是:D。

5、有两个整型变量dog和cat,若要从磁盘文件把数据读到其中,正确的形式是______(分数:2 分)

A.fscanf(dog ,2,1,fp);B.fscanf(fp,“%d%d”,&dog ,&cat);C.fscanf(dog ,cat,2,1,fp);D.fscanf(fp,“%d”,&dog ,&cat);标准答案是:B。

二、多选

1、下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空:#indude “stdio.h”main(){int m=0,n=0;char c;1;while((_____)!='n'){ if(c>='A' && C<='Z')m++ if(c>='a' && c<='z')n++;}printf(“%dn”, m A.c=getchar()B.getchar()C.c=getchar()D.scanf(“%c”,c)标准答案是:AC。

2、以下选项中,合法的字符常量是______(分数:3 分)A.'t' B.'17' C.“n” D.'xaa' 标准答案是:ABD。

3、以下用户标识符,其中合法的是______(分数:3 分)A.return B.f2_G3 C.A3-3 D.abc 标准答案是:BD。

4、以下可以定义为用户标识符的有______(分数:3 分)A.scanf B.short C._3com_ D.int 标准答案是:AC。

5以下选项中合法的表达式是______(分数:3 分)A.0<=x<100 B.i=j==0 C.(char)(65+3)D.x+1=x+1 标准答案是:ABC。简答题

1#include void main(){ int i=0,j=1;for(i=2;i<=10;i++){ j*=i;} printf(“%d”,j);return 0;} 21.定义文件指针 2.打开文件,判断是否成功打开,若打开失败,程序退出运行状态 3.对文件进行读写操作 4.关闭文件

名词解释 1条件语句

2条件语句否定分支(与 if 连用)论述题 1限制|调试

第四篇:成都信息工程大学 c语言改错

1、程序D1.c的功能是从键盘读入一个数并在屏幕上显示。int main(void){

int xy2;

/*********Found************/

scanf(“%s”, &xy2);

//改为:scanf(“%d”, &xy2);

/*********Found************/

printf(“xy2=%5dn”, &xy2);//改为:printf(“xy2=%5dn”,xy2);

return 0;}

2、程序D2.c的功能是调用函数,显示两个实数间最大的一个。

#include

float fmax(float x, float y);

int main(void){

/*********Found************/

float l, 1;

//i

l = 3.0;

i = 5.6f;

/*********Found************/

printf(“fmax(%5.2f, %5.2f)=%5.2fn”, i, l, fMax(i, l));// fmax

return 0;}

/*********Found************/ int fmax(float x, float y)

//改:float {

if(x < y)return y;

else return x;}

3、程序D4.c的功能是计算半径为2+3的圆的面积。

#include

#define PI 3.14 /*********Found************/ #define S(bj)PI*bj*bj

//改: PI*(bj)*(bj)

int main(void){

/*********Found************/

int mianJi;

//改为:double

mianJi = S(2+3);

printf(“mian ji=%5.2fn”, mianJi);

return 0;}

4、相似题:D3.C,程序D5.c的功能是将字符串yy显示在屏幕上。#include

int main(void){

/*********Found************/

char yy[100] = “ok??n”,//改为:;

/*********Found************/

prntf(“%s”, yy);

//改:printf

return 0;}

5、考查点:数据类型选择,/运算符的使用功能是计算1/1 + 1/2 + „ + 1/N之和并显示。#include

#define N 10

int main(void){

/*********Found************/

long jieguo = 0;

//改:float

int fm;

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

{

/*********Found************/

jieguo += 1 / fm;

//改:(float)1 / fm

}

printf(“%8.6fn”, jieguo);

return 0;}

6、考查点:输入分隔格式控制,循环体的定义,D12.c的功能是从键盘读入a和b的值(输入格式限定为仅a,b),在屏幕上显示b行a。

#include

int main(void){

int a, b;

/*********Found************/

scanf(“%d%d”, &a, &b);

//中间加’,’

while(b > 0)

/*********Found************/

___________

//括号’{’

printf(“%dn”, a);

b--;

/*********Found************/

___________

//括号’}’

printf(“bye bye!n”);

return 0;} 7考查点:输入格式控制、变量交换,程序D1000.c的功能是从键盘输入3个浮点数a,b,c(输入时abc之间以空格相隔),首先按照输入顺序显示在屏幕上,然后按从小到大顺序把它们输出到屏幕上。

#include

int main(void){

float a, b, c, t;

printf(“please input three numbers:n”);

/*********Found************/

scanf(“%f%f”, &a, &b, &c);//改:%f%f%f

printf(“before sort:a=%g,b=%g,c=%gn”, a, b, c);

if(a > b)

{

t = a;

a = b;

/*********Found************/

b = a;//改:t

}

if(a > c)

{

t = a;

a = c;

c = t;

}

if(b > c)

{

t = b;

b = c;

c = t;

}

printf(“after sort:a=%g,b=%g,c=%gn”, a, b, c);

return 0;} 8考查点:格式化输出、数据类型的正确使用,程序D1001.c的功能是求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,....前20项之和,要求显示的结果中小数部分有4位。

#include

#define T 20

int main(void){

int n;

/*********Found************/

long i, j, temp, sum;

i = 2;

j = 1;

sum = 0;

for(n=1;n<=T;n++)

{

sum = sum + i / j;

temp = i;

i = i + j;

j = temp;

}

/*********Found************/

printf(“2/1+3/2+5/3+8/5+13/8+...=%5.2fn”, sum);//改:.4

return 0;} 9考查点:用算术表达式实现数据交换,程序D1002.c的功能是实现两数交换。

#include

int main(void){

int x = 5, y = 9;

x = x + y;

y = xx;//改:x – y;

printf(“x=%d, y=%dn”, x, y);

return 0;} 10考查点:整型常量表示、输出项表示,程序D1003.c的功能是将16进制数100转换为10进制数输出。#include

int main(void){

/*****Found*****/

int i = 100;//0x100

/*****Found*****/

printf(“%dn”, &i);

//改:去掉&

return 0;}

11、程序D1004.c的功能是输入姓名,屏幕输出问候。#include

int main(void){

char s[10];

printf(“please input your name:”);

/*********Found************/

scanf(“%c”, s);//改%s

printf(“hello ”);

/*********Found************/

puts(s[10]);//改:s

return 0;} 12考查点:输入数据分隔,输出项表示,程序D1005.c的功能是从键盘读入两个整数并在屏幕上显示。要求:输入时限定两数之间仅以逗号隔开。#include

int main(void){

int a, b;

/*********Found*********/

scanf(“%d%d”, &a, &b);

//改:中间加’,’

/*********Found*********/

printf(“a=%d,b=%dn”, &a, &b);//去掉&

return 0;}

13、考查点:输入格式控制、if语句,程序D1006.c的功能是判断输入的数据是否与已经给出的数据j相等。

#include

int main(void){

long int i = 79870, j = 23;

/*****Found*****/

scanf(“%f”, &i);//改:%ld

/*****Found*****/

if(j == i);

{

printf(“Equal!”);

}

else

{

printf(“Not equal!”);

}

return 0;}

14、考查点:字符输入函数使用,分支条件表示,程序D1007.c的功能是使用getchar方式从键盘读入一个字符,判断该字符是否大写字符。#include

int main(void){ char ch;

/****Found****/ getchar(ch);// ch = getchar();/*****Found*****/ if('A' <= ch, ch <= 'Z')

//&& {

printf(“yes”);} else {

printf(“no”);}

return 0;}

15、考查点:switch语句结束、case后常量表示,程序D1008.c的功能是判断用户是不是输入的整数0。

#include

int main(void){

int n;

scanf(“%d”, &n);

/****Found****/

switch(n);

//去掉’;’

{

/****Found****/

case0:

//中间加空格

printf(“Zeron”);

break;

default:

printf(“Non-Zero”);

break;

}

return 0;}

16、考查点:switch语句、case后常量表示,程序D1009.c的功能是输入一个整数,如果为1时输出100,为2时输出200,其它输出0。

#include

int main(void){

int x, y;

scanf(“%d”, &x);

switch(x)

{

/*********Found************/

case x == 1: //改:1

y = 100;

break;

/*********Found************/

case x == 2: //改:2

y = 200;

break;

default:

/*********Found************/

y = 500;

//改:0

break;

}

printf(“%dn”, y);

return 0;}

17、考查点:switch语句case常量表示,循环条件表示,程序D1010.c的功能是输入若干字符数据(回车表示输入结束),分别统计其中‘A’、‘B’、‘C’的个数。#include

int main(void){

char c;

int k1 = 0, k2 = 0, k3 = 0;

/*********Found************/

while(c = getchar()!= 'n')

//加括号()

{

switch(c)

{

/*********Found************/

case A:

//加’’

k1++;

break;

case 'B':

k2++;

break;

case 'C':

k3++;

break;

default :

;

}

}

printf(“A=%d,B=%d,C=%dn”, k1, k2, k3);

return 0;}

18、考查点:一维数组定义、数组元素引用、输入和输出,程序D1016.c的功能是从键盘输入5个整数,保存到一整型数组变量中(此数组只能保存5个数),并在屏幕上按逆序输出。#include

int main(void){

/*********Found*********/

int n=5, i, a[n];

//改为5

printf(“ninput 5 numbers:”);

/*********Found*********/

for(i=1;i

{

scanf(“%d”, &a[i]);

}

for(i=n-1;i>=0;i--)

{

printf(“%dt”, a[i]);

}

return 0;}

19、考查点:数组的输入和数组元素的引用,程序D1017.c的功能是输入10个浮点数,并输出这组数中的最大值和最小值。

#include

int main(void){

float a[10], max, min;

int i;

printf(“Please input 10 floats”);

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

{

/*********Found************/

scanf(“%f”, _____);// &a[i]

}

max = min = a[0];

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

{

/*********Found************/

if(_____)

// max < a[i]

{

max = a[i];

}

if(min > a[i])

{

min = a[i];

}

}

printf(“Max number is:%.2fnMin number is:%.2fn”, max, min);

return 0;} 20、考查点:函数声明,静态变量使用,程序D1021.c的功能是依次输出3^1到3^5。

#include

/*****Found*****/ int f(n);

//用定义形式:int n

int main(void){

int i;

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

{

printf(“%dn”, f(3));

}

return 0;}

int f(int n){

/*****Found*****/

int p = 1;//改: static int

p = p * n;

return p;}

21、考查点:静态变量使用,函数调用,程序D1023.c的功能是函数outnum输出自己是第几次被调用。#include

void outnum(void);

int main(void){

int i;

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

{

/*********Found************/

outnum(i);//改: outnum()

}

return 0;}

void outnum(void){

/*********Found************/

int i = 0;

//改:static int i = 0;

i++;

printf(“%dn”, i);}

22、考查点:函数调用、函数定义,程序D1024.c的功能是调用子函数Average()求两数的平均值,并输出到屏幕上。#include

/*********Found*********/ int Average(x, y);

//用定义形式:int x, int y

int main(void){

int a = 12;

int b = 24;

int ave;

/*********Found*********/

ave = Average(int a, int b);//用使用形式:a, b

printf(“Average of %d and %d is %d.n”, a, b, ave);

return 0;}

/*********Found*********/ int Average(x, y)//int x, int y {

int result;

result =(x + y)/ 2;

return result;}

23、考查点:函数一般调用和静态变量,程序D1025.c的功能是输入一整数n(n>0),main()函数中调用子函数Func()n次,并在屏幕上打印出每次调用该子函数的次数。#include

void Func(void);

int main(void){ int i, n;

printf(“ninput a data:”);scanf(“%d”, &n);for(i=0;i

/*********Found*********/

________________________

// Func()}

return 0;}

void Func(void){ /*********Found*********/ ________________________

//static int times = 0;

times++;printf(“Func()was called %d time(s).n”, times);}

难度2

1、考查点:用指针访问字符数组元素,程序D3.c的功能是将字符串yy在屏幕上输出。

#include

int main(void){

/*********Found************/

char yy[200] = “ok??n”;//改为:*yy

/*********Found************/

fol(;*yy;yy++)

//改为:for

{

putchar(*yy);

}

return 0;}

2、考查点:字符数组定义,字符串输出控制,标准字符串函数的使用,程序D6.c的功能是从键盘读入一行字符(包括空格、TAB等字符)并在屏幕上显示。#include

int main(void){ /*********Found************/

char yy<128>;

//改为:yy[128]

/*********Found************/ getchar(yy);

//改为:gets

/*********Found************/ printf(“%y”, yy);

//改为:%s

return 0;}

3、考查点:if-else形式条件的分析,数据类型选择,程序D7.c的功能是判断x和y是否相等,相等则显示x=y,不等则显示x<>y。#include

int main(void){

/*********Found************/

char x, y;//改为:int

x = 39270;

y = 41001;

/*********Found************/

if(x!= y)

//改为:==

{

printf(“x=y”);

}

/*********Found************/

else;;

//去掉;;

{

printf(“x<>yn”);

}

return 0;}

4、考查点:文件路径名表示,文件打开方式选择,文件打开成功判断,程序D8.c的功能是打开文件d:te.c用于读并判断打开是否成功。#include

int main(void){ FILE *fp;/*********Found************/ char fileName[] = “d:te.c”;//改为:

/*********Found************/ fp = fopen(fileName, “w”);

//改为:r

/*********Found************/ if(fp is NULL)

//改为:== {

puts(“File Open Error!”);

return 1;} putchar(fgetc(fp));fclose(fp);

return 0;}

5、考查点:指针,内存分配、内存释放函数的使用,程序D9.c的功能是申请100个字节的内存空间,显示其首地址,然后释放申请到的内存空间。

#include #include

int main(void){

/*********Found************/

char pch[2];

//改为:*pch

/*********Found************/

if(pch =(char *)malloc(100)== NULL)

//将红色部分括起来

{

printf(“malloc memory fail!n”);

return 1;

}

printf(“%pn”, pch);

/*********Found************/

close(pch);

//改为:free

return 0;}

6、考查点:指针作函数参数,函数调用,程序D14.c的功能是调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值。

#include

/*********Found************/ void swap(int x, int y);//改为:int *x, int *y

int main(void){

int a = 3, b = 4;

/*********Found************/

swap(a, b);

//改为:&a, &b

printf(“a=%d b=%dn”, a, b);

return 0;}

/*********Found************/ void swap(int x, int y)

//改为:int *x, int *y {

int tmpX;

/*********Found************/

___________

// tmpX =*x;

*x = *y;

/*********Found************/

*y = x;

//改为:*y = tmpX;}

7、考查点:结构体变量定义,结构体成员的输入、输出,程序D16.c的功能是worker2的信息使用结构体存储,从键盘读入其各项信息并显示。

#include

int main(void){

struct WKER

{

long ID;

long int num;

char name[20];

char sex;

/*********Found************/

};

//改为:worker2;

worker2.ID = 1L;

/*********Found************/

scanf(“%s %s %s”, &worker2.num, worker2.name, &worker2.sex);//改:%ld%s%c

/*********Found************/

printf(“worker's info: num=%s name=%s sex=%sn”,worker2.num, worker2.name, worker2.sex);

//改为:%ld %c

return 0;}

8、考查点:复合语句、变量作用域,程序D18.c的功能是从键盘上读入10个大于0的数,调用函数dispMaxNum显示其中最大的一个。#include

int maxiNum = 0;

void dispMaxNum();

int main(void){

int i, oneNumber, maxNumber = 0;

printf(“Please input 10 int number:”);

{

int maxNumber = 0;

/*********Found************/

___________

//{

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

{

scanf(“%d”, &oneNumber);

if(oneNumber > maxNumber)

{

maxNumber = oneNumber;

}

}

}

/*********Found************/

___________

// maxiNum = maxNumber

/*********Found************/

___________

//}

dispMaxNum();

return 0;}

void dispMaxNum(){

/*********Found************/

printf(“maxNumber=%dn”, maxiNum);}

9、考查点:循环条件表示,循环体中改变循环条件,程序D1011.c的功能是从输入数据中统计正整数和负整数的个数。用输入0来结束输入,变量i存放正整数个数,变量j存放负整数的个数。#include

int main(void){

int i = 0, j = 0, n;

printf(“ninput numbers:”);

scanf(“%d”, &n);

/*********Found*********/

while(______________)

// n 或者n!= 0

{

if(n > 0)

{

i++;

}

if(n < 0)

{

j++;

}

/*********Found*********/

_________________________

// scanf(“%d”, &n);

}

printf(“i=%d,j=%d”, i, j);

return 0;}

10、考查点:枚举算法,for语句条件,条件判断,程序D1012.c的功能是显示用1、2、3、4个数字组成的互不相同且无重复数字的三位数。#include

int main(void){ int i, j, k;

/*********Found************/ for(i=1;

;i++)

//改为:i <5 {

for(j=1;j<5;j++)

{

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

{

/*********Found************/

if(i!=k && i!=j && ______)//j!= k

{

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

}

}

} }

return 0;}

11、考查点:数组逆序存放,循环次数控制,换位操作的实现,程序D1013.c的功能是将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1,要求改为1,4,5,6,8。

#include

#define N 10

int main(void){

int a[N], i, temp;

printf(“please input %d integer numbers:n”, N);

for(i=0;i

{

scanf(“%d”, &a[i]);

}

printf(“the array before reverse:n”);

for(i=0;i

{

printf(“%d ”, a[i]);

}

printf(“n”);

/*********Found************/

for(i=0;i

//改为:i

{

temp = a[i];

/*********Found************/

a[i] = a[N-i];

//改为:a[N-1-i]

/*********Found************/

a[N-i] = temp;

//改为:a[N-1-i]

}

printf(“the array after reverse:n”);

for(i=0;i

{

printf(“%d ”, a[i]);

}

printf(“n”);

return 0;}

12、考查点:排序算法的实现,排序条件,数据交换、字符数组的处理,程序D1014.c的功能是将字符数组a中元素从大到小排列(值相同的元素不交换位置)。

#include #include

int main(void){

int i, j, k;

char a[] = “language”, t;

k = strlen(a);

for(i=0;i

{

for(j=i+1;j

{

/*****Found*****/

if(a[i] > a[j])//改为:a[i] < a[j]

{

t = a[j];

/*****Found*****/

a[i] = a[j];//改为:a[j] = a[i]

a[i] = t;

}

}

}

printf(“%sn”, a);

return 0;}

13、考查点:数组元素下标,数组作函数参数,程序D1015.c的功能是定义一个整型数组,采用子函数实现数据输入。

#include

void input(int a[], int n);

int main(void){

int a[10], i;

/*********Found************/

input(a[10], 10);

//改为:a

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

{

printf(“%d ”, a[i]);

}

return 0;}

void input(int a[], int n){

int i;

for(i=0;i

{

scanf(“%d”, &a[i]);

/*********Found************/

i--;

//改为:i++

} }

14、考查点:函数调用,字符串结束标志的使用,程序D1018.c的功能是通过函数,将一个字符串中的元音字母复制到另一字符串,然后输出。

#include #include

void vowel(char str1[], char str2[]);

int main(void){

char str1[81], str2[81];

printf(“please input the string:n”);

gets(str1);

/*********Found************/

vowel(________________);//改为:str1, str2

printf(“the vowel string is:n”);

puts(str2);

if(strlen(str2)== 0)

{

printf(“NONE!n”);

}

return 0;} void vowel(char str1[], char str2[]){ int i, j = 0;/*********Found************/ for(i=0;________________;i++)//改为:str1[i] {

if(str1[i]=='A' || str1[i]=='E' || str1[i]=='I'

|| str1[i]=='O' || str1[i]=='U' || str1[i]=='a'

|| str1[i]=='e' || str1[i]=='i' || str1[i]=='o'

|| str1[i]=='u')

{

str2[j] = str1[i];

j++;

} }

str2[j] = '';}

15、考查点:函数声明、函数定义、函数调用,表达式统计,程序D1019.c的功能是计算输出10个学生的平均成绩。

#include

/*****Found*****/ average(double x, y);//改为:double average和int y

int main(void){

int i;

double score, total;

double aver;

printf(“Please enter the 1's graden”);

scanf(“%lf”, &total);

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

{

printf(“Please enter the %d's graden”, i);

scanf(“%lf”, &score);

/*****Found*****/

total = score;

//改为:total = total + score;

}

aver = average(total, 10);

printf(“The average: %fn”, aver);

return 0;}

/*****Found*****/ average(double x, y)

////改为:double average和int y {

return x / y;}

16、考查点:递归函数定义(递归返回),函数头,程序D1020.c的功能是使用递归实现Fibonacci数的计算,Fn=Fn-1+Fn-2(1、1、2...,第7项为13)。

#include

int f(int n);/*****Found*****/ int main(void);

//改为:去掉‘;’ {

printf(“F(7)=%dn”, f(7));

return 0;}

int f(int n){

if(n <= 2)

{

/*****Found*****/

return 2;//改为:1

}

return f(n2);}

17、考查点:函数声明,变量作用域,函数调用,函数定义,指针作为函数的参数,程序D1022.c的功能是通过一个加法子函数,输入两个浮点数,求和。

#include

/*********Found************/ int add(float x, float y);

//改为:float

int main(void)

float a, b;

scanf(“%f%f”, &a, &b);

/*********Found************/

printf(“sum=%fn”, add(x, y));

//改为:a, b

return 0;}

/*********Found************/ float add(float x, float y);//改为:去掉’;’ {

return x + y;}

18、程序D1054.C的功能是:从键盘读入两个整数,对它们进行按位异或操作,把操作结果按二进制位放在字符数组str中,最后输出该字符串。提示:第2个空建议使用条件表达式(?表达式)实现!

Please input num1 and num2 : 127 0 127 ^ 0 = ******11 图1 程序运行效果示例

Please input num1 and num2 : 123 456 123 ^ 456 = ******11 #include

int main(void){

unsigned long int number, num1, num2, mask;int i;char str[33];

printf(“Please input num1 and num2 : ”);scanf(“%lu %lu”, &num1, &num2);

/*********Found************/ mask = __________________;

//改为:0x80000000 number = num1 ^ num2;for(i=0;i<32;i++){

/*********Found************/

str[i] = __________________;//改为:(mask& number)? ‘1’:’0’

mask >>= 1;} str[32] = '';printf(“%lu ^ %lu = %sn”, num1, num2, str);

return 0;}

难度3

1、考查点:符号常量定义,const常量的使用,指针变量的移位操作,程序D10.c的功能是将字符串str2显示在屏幕上。

#include

/*********Found************/ #define START

//改为:#define START { /*********Found************/ #define NEXT

//改为:#define NEXT }

int main(void){

char *str2 = “***”;

const int i = 0;

for(printf(“n”);str2[i];)

START

putchar(str2[i]);

/*********Found************/

i++;//改为:str2++

NEXT

return 0;}

2、考查点:字符数组下标控制,字符串结束标志,条件表达,程序D13.c的功能是从键盘输入最多10个字符(遇换行则停止输入)到数组Buf中,然后在屏幕上显示。

#include

int main(void){

char c, Buf[11];

int pos;

/*********Found************/

for(pos = 1;pos <= 10;pos++)

//改为:0和<

{

/*********Found************/

if((c = getchar()== 'n')//改为:后面加)

{

break;

}

Buf[pos] = c;

}

/*********Found************/

___________

//改为:Buf[pos] = ‘’;

printf(“%sn”, Buf);

return 0;}

3、考查点:指针变量的使用,指针作函数参数,函数调用,程序D15.c的功能是调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值。

#include

void swap(int *x, int *y);

int main(void){

int a = 3, b = 4;

/*********Found************/

swap(*a, *b);

//改为:&a, &b

/*********Found************/

printf(“a=%d b=%dn”, &a, &b);//去掉&

return 0;}

void swap(int *x, int *y){

int *tmp, tsX;

/*********Found************/

*tmp = x;//改为: tsX = *x

*x = *y;

/*********Found************/

*y = *tmp;//改为: tsX }

4、考查点:函数定义、字符数组、静态变量的使用、指针作函数参数,函数调用,程序D17.c的功能是函数userLogin的功能主要是统计并返回登录的用户数,用户名最长30字节。

#include

long userLogin(char *userName);

int main(void){

/*********Found************/

char *userName31;//改为:userName31[31]

long curUserCnt = 0;

while(1)

{

printf(“user %ld, input your Name: ”, curUserCnt+1);

scanf(“%s”, userName31);

curUserCnt = userLogin(userName31);

}

return 0;}

long userLogin(char *userName){

/*********Found************/

long userNum = 0;//改为:static long

userNum++;

printf(“welcome user %s.There have %ld users in system.n”,userName, userNum);

/*********Found************/

return;//改为: userNum; }

5、考查点:函数返回值、字符变量、字符指针变量、字符串结束,程序D19.c的功能是将inBuf中字符串拆分成一个个的单词。

程序说明:

(1)单词之间的分隔符由串divChar,程序中定义为“;?!,.>/”。

(2)函数getStrFromBuf的功能是从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。GetStrFromBuf的返回值指向已找到单词的下一个字符。

(3)函数charInStr的功能是判断字符t是否出现在串Str中。

(4)主程序的功能是将inBuf中的所有单词在屏幕上显示出来。

#include

#define Yes 1 #define No 0

char *getStrFromBuf(char *Buf, char *Str, char *divStr);int charInStr(char *Str, char t);

int main(void){

char inBuf[100] = “>how old are/ you?”, *point, oneWord[20];char divChar[] = “;?!,.>/”;

point = inBuf;while(*point){

/*********Found************/

getStrFromBuf(point, oneWord, divChar);//右边加上:point=

if(*oneWord)

{

puts(oneWord);

}

}

return 0;}

int charInStr(char *Str, char t){

for(;*Str;Str++)

{

/*********Found************/

if(*Str == *t)//改为:t

{

/*********Found************/

return No;//改为:Yes

}

}

/*********Found************/

return Yes;

//改为:No }

char *getStrFromBuf(char *Buf, char *Str, char *divStr){

for(;*Buf;Buf++)

{

if(charInStr(divStr, *Buf)== No)

{

break;

}

}

for(;*Buf;Buf++)

{

if(charInStr(divStr, *Buf)== Yes)

{

break;

}

/*********Found************/

Str = *Buf;//改为:* Str

Str++;

}

/*********Found************/

*Str = '0';

//改为:’’

/*********Found************/

return;

//改为:Buf }

6、考查点:折半查找算法、函数调用、数组作参数,程序D1026.c的功能是函数binary为折半查找key 值。数组中元素值已递增排序,若找到key则返回对应的下标,否则返回-1。主函数对该函数进行验证。

#include

int binary(int a[ ], int n, int key);

int main(void){

int data[10] = {2, 5, 7, 13, 16, 18, 23, 26, 28, 35};

int pos=0, key;

printf(“Input an integer to find:”);

scanf(“%d”, &key);

/*********Found************/

pos = ____________________;

if(pos ==-1)

{

printf(“Can't find %d.n”, key);

}

else

{

printf(“%d's position is %d”, key, pos);

}

return 0;}

int binary(int a[ ], int n, int key){

int low, high, mid;

low = 0;

high = n1;

}

else if(key > a[mid])

{

low = mid + 1;

}

else

{

/*********Found************/

return _______;

}

}

return(-1);}

7、考查点:函数参数设计、算法理解、函数调用,程序D1027.c的功能是fun函数的功能是将形参x的值转换成base进制数,所得base进制数的每一位数用对应字符表示并放在一维数组b中返回,base进制数的最低位放在下标为0的元素中,其他依次类推。主函数中输入一个数据,调用该函数将数据转换成8进制数。

#include #include

/*********Found************/ void fun(int x, int base, ____ b[]);//改为:char

int main(void){

static char data[30];

int i, pos, key;

printf(“Input an integer :”);

scanf(“%d”, &key);

/*********Found************/

____________________;

//改为:fun(key, 8, data);

pos = strlen(data);

for(i=pos-1;i>=0;i--)

{

putchar(data[i]);

}

return 0;} /*********Found************/ void fun(int x, int base, ____ b[])

//改为:char { int k = 0, r;

do {

}

r = x % base;if((base==16)&&(r>=10)){ r-= 10;r += 'A';} else { r += '0';} b[k] = r;k = k + 1;x /= base;} while(x);b[k] = '';

第五篇:成都信息工程学院请假条

成都信息工程学院光电技术学院学生请假条

________________辅导员:

光电技术学院______级_______班学生(姓名)___________(性别)______, 因(请假原因)________________________________________________________请假,请假类型(请在前圆圈处打勾):○事假○病假 ○其他

前往(请假目的地)_____________________需请假_______天(_______课时),请假时间为_________年_______月_____日至________年_______月______日第______节课。请予批准

请假人:__________________

_______年_____月______日

辅导员意见:

学院总支意见:(盖章)

-------------------

成都信息工程学院光电技术学院学生请假条(辅导员备案)

光电技术学院______级_______班学生(姓名)___________(性别)______, 因(请假原因)________________________________________ ________________请假,请假类型(请在前圆圈处打勾):○事假○病假 ○其他 前往(请假目的地)_____________________需请假_______天(_______课时),请假时间为_________年_______月_____日至________年_______月______日第______节课。本人联系电话____________________家庭有效联系电话:_______________请假学生销假时间:请假学生销假签字:

学生销假时辅导员签字:

学院总支意见:

温馨提示:

1、学生有事须请假,完假后须及时到辅导员处销假,不及时销假者视为未经同意的超假;

2、未经同意超假以及请假内容不真实者,按旷课或擅自离校处理;

3、请假学生务必注意请假期间人身和财产安全,并主动与学校保持联系;

4、请假条一式两部份,其中一份交至学习委员给任课教师,另外一份交至辅导员处存档备案。

5、未尽事宜,请参照《成都信息工程学院学生守则》。

下载成都信息工程学院C语言考试题及答案word格式文档
下载成都信息工程学院C语言考试题及答案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    c语言考试题12

    指挥、协调计算机工作的设备是( D )。 选择支: A: 键盘、显示器 B: 存储器 C: 系统软件 D: 控制器 用( B )编制的程序是边解释边执行。选择支: A: C语言 B: BASIC语......

    c语言答案

    6-13 #include int main() { char s1[80],s2[40]; int i=0,j=0; printf("input string1:"); scanf("%s",s1); printf("input string2:"); scanf("%s",s2); while (s1[i]!=......

    成都信息工程学院消防演习策划书(精选5篇)

    2011年成都信息工程学院11.9消防演练活动 策划书成都信息工程学院 2011年10月15日 1 前言 “ 火灾”,是指在时间或空间上失去控制的燃烧所造成的灾害。在各种灾害中,火灾是最......

    成都信息工程学院学生上课考勤管理办法

    成都信息工程学院学生上课考勤管理办法 第一条 学生上课出勤要求 1. 学生应当按时参加学校教育教学计划规定,包括自己的选修和必修课各个学院自身的晚自习。 第二条 考勤办法......

    成都信息工程学院教师短期培训管理办法

    成都信息工程学院教师短期培训管理暂行办法(征求意见稿)为适应教学的需要,提高教师的业务素质和教学水平,根据《中华人民共和国教师法》和其它相关规定,结合学校实际,现制定我校教......

    成都信息工程学院2013-2014-1寒假安排

    教务发〔2013〕37号成都信息工程学院关于2013-2014学年第一学期 普通本科学生期末考试与寒假安排的通知校内各部门、各教学单位:根据2013-2014学年第一学期教学计划及其执行情......

    C语言作业答案

    厦门大学公共课 《C语言程序设计》 教材习题答案第三章 结构化程序设计 一、思考题 1、顺序结构的语句有哪些? 表达式语句,空语句,复合语句 2、从程序控制的角度看,复合语句是......

    模拟题c语言答案

    此答案为自己所出,若有不对之处请谅解,并希望能留言 单选题(共60题,每题1分,共60分) 1. 下列符号串中,属于C语言合法标识符的个数为(B)。 _1_2_3,a-b-c,float,9cd,a3b4 A:1 B:2 C:3......