2012年6月C语言机考试题库及答案
2012年C语言机试考试题目
注释:/*$ERROR1$*/行有错误/*$BLANK1$*/空须填写
模拟一
1.题目:[改错]在屏幕上输出以下图形(说明:数字之间无空格)。
19
2288
333777
44446666
5555555555
程序如下:
#include
void main()
{
int i,j,k;
for(i=1;i<6;i++)
{
for(k=1;k<6-i;k++)
printf(" ");
for(k=1;k<=i;k++)
printf("%d",k); /*$ERROR1$*/
j=9; /*$ERROR2$*/
k=1;
{
printf("%d",j);
k++;
}
printf("\n");
}
}
2.题目:【程序填空】将长整型数S中每一位上为偶数的数码依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数位:87653142时,t中的数为:8642.
程序如下:
#include
void main()
{
long s=87653142,k,m=0,t=0;
while(s>0)
{
k=s%10;
if (_____) m=m*10+k; /*$BLANK1$*/
s=______; /*$BLANK2$*/
}
{
t=t*10+m%10;
m=m/10;
}
printf("%ld\n",t);
}
3.题目:【程序设计】有100匹马驮100但货,大马驮4但,中马驮3但,5匹小马驮1但。问三种马各有几匹?
注意;、:(1)大、中、小马都必须有;(2)问题的解只有一种;(3)要求使用循环实现。
模拟二
4.题目【改错】判断从键盘输入的一个三位数是否是水仙花数。若是输出“Yes.”,否则输出“No.”。说明:水仙花数是指各位数字的立方之和等于自身的三位数。
例如:153是一个水仙花数,满足:153=1*1*1+5*5*5+3*3*3
程序如下:
#include
void main()
{
int n,w1,w2,w3;;
printf("Please input a number(100-999):");
scanf("%d",n); /*$ERROR1$*/
if(n<100 && n>=1000) /*$ERROR2$*/
printf("Data error!\n");
else
{
w1=n/10; /*$ERROR3$*/
w2=n/10%10;
w3=n/100;
if(w3*w3*w3+w2*w2*w2+w1*w1*w1 == n)
printf("Yes.\n");
else
printf("No.\n");
}
}
5.题目【填空】
程序如下:
#include
void main()
{
int a[]={93,85,77,68,59,43,94,75,98},b[6]={0},i;
for(i=0;i<9;i++)
{
switch(_____) /*$BLANK1$*/
{
case 10: b[4]++;break;
case 9: b[3]++;break;
case 8: b[2]++;break;
case 7: b[1]++;break;
case 6: b[0]++;break;
______: b[5]++;break; /*$BLANK2$*/
}
}
for(i=0;i<6;i++)
printf("%2d",______); /*$BLANK3$*/
printf("\n");
}
6.题目【程序设计】(三色球问题)
若一个口袋中放有12个球,其中有3个红色的,3个白色的和6个黑色的,从中任取8个球,求共有多少种不同的颜色搭配。
如:2个白色球和6个黑色球;1个红色球、3个白色球和4个黑色球;3个红色球、2个白色球和3个黑色球;等都是满足条件的颜色搭配。
输出格式:count=123
模拟三
7.题目【改错】计算大于100的前10个素数之和。
程序如下:
#include
void main()
{
int i,j,n,s;
n=0;
s=1; /*$ERROR1$*/ for(i=101;;i+=2)
{
for(j=2;j<=i/2;j++)
if(i%j==0)
{
continue; /*$ERROR2$*/ }
if(j>i/2)
{
s+=i;
n++;
if(n!=10) /*$ERROR3$*/
break;
}
}
printf("s=%d\n",s);
}
8.题目【程序填空】计算并输出含有9个元素的数组中每相邻两个元素平均值的平方根之和,数组元素值由键盘输入(说明:输入的值均为正数)。
例如,输入数组的9个元素依次为1、1.5、14、4、2、7、8、3.5、11,输出应为s=18.584400. 程序如下:
#include
#include
void main()
{
int i;
float a[9],s;
for(i=0;i<=8;i++)
scanf("%f",_____); /*$BLANK1$*/
______; /*$BLANK2$*/
for(i=0;_____;i++) /*$BLANK3$*/
s=s+sqrt((a[i]+a[i+1])/2);
printf("s=%f\n",s);
}
9.题目【程序设计】已知序列2/1,3/2,5/3,8/5,….,编程计算该序列前20项之和。说明:(1)该序列从第二项起,每一项的分子是其前一项的分子与分母之和,分母是其前一项的分子;
(2)结果保留2位小数;
(3)要求使用循环实现。
输出格式:s=12.34
模拟四
10.题目【改错】统计所有四位正整数中各个数位上的数字之和是9的个数。如:1008、1017、1026.。。。。。是满足条件的数。
程序如下:
#include
void main()
{
int i,j,s, count;
count=1; /*$ERROR1$*/
for(i=1000;i<=9999;i++)
{
j=i;
s=0;
while(j>1) /*$ERROR2$*/
{
s=s+j/10; /*$ERROR3$*/
j=j/10;
}
if(s==9) count++;
}
printf("%d\n",count);
}
11.题目【程序填空】下列程序中fun的功能是:找出100至999之间三位数字之和等于9的所有整数并统计其个数。满足条件的整数放在s所指数组中,个数通过函数返回。
程序如下:
#include
int fun(int s[])
{
int a,b,c,i,n=0;
for(i=100;i<=999;i++)
{
a=______; /*$BLANK1$*/
b=i/10%10;
c=i%10;
if(a+b+c==9)
{
s[n]=i;
______; /*$BLANK2$*/
}
}
return n;
}
void main()
{
int s[50],n,i;
n=fun(_____); /*$BLANK3$*/
for(i=0;i printf("%d ",s[i]); printf("\n"); } 12.题目【程序设计】根据下式求s的值(要求使用循环实现): S=1-1/(1+2)+1/(1+2+3)-1/(1+2+3+4)+。。。+1/(1+2+3+...+19)-1/(1+2+3+ (20) 输出格式:s=1.23456 模拟五 13.题目【改错】计算:1+1/(2*2)+1/(3*3)+(4*4)+。。。+1/(n*n)的值。 程序如下: #include void main() { double s; int i,n; printf("\nPlease input 1 integer number:\n"); scanf("%d",n); /*$ERROR1$*/ s=0.0; /*$ERROR2$*/ for(i=2;i<=n;i++) { s+=1.0/i*i; /*$ERROR3$*/ } printf("\nThe result is %lf\n",s); } 14.题目【程序填空】下列程序中函数sum的功能是:计算并输出下列级数的前N项之和SN,直到SN大于q为止,q的值通过形参传入。 SN=2/1+3/2+4/3+….+(N+1)/N 例如,若q的值为6.0,则函数值为6.083333 程序如下: #include float sum(float q) { int N=1; float SN=0; while(SN__q) /*$BLANK1$*/ { SN=SN+1.0*(N+1)/N; ____; /*$BLANK2$*/ } } void main() { float q; printf("Input q:"); scanf("%f",&q); printf("%f\n",_____); /*$BLANK3$*/ } 15.题目【程序设计】根据下式求s的值。 S=3*3-1/3+4*4-1/4+5*5-1/5+…+39*39-1/39 说明:(1)结果保留两位小数;(2)要求使用循环实现。 模拟六 16.题目【改错】从键盘中输入n(设n小于或等于50)个成绩,将成绩小于60的保存在数组aa中。如果存在满足条件的成绩,则输出这些成绩,否则输出“ALL over 60 “. 说明:每行输出10个数据,每个数据站4列。 程序如下: #include void main() { int i,n,m,sum; sum=1;/*$ERROR1$*/ scanf("%d",&n); for(i=0;i { scanf("%d",&m); if(m<60) { aa[sum]=m; n++;/*$ERROR2$*/ } } if(sum>0) { printf("\n************* number *************"); for(i=0;i { if(i%10==0) printf("\n"); printf("%4d",aa); /*$ERROR3$*/ } printf("\n"); } else printf("\nAll over 60!\n"); } 17.题目【程序填空】如果某整数能够在它的平方数的最右边出现,则该数就是“同构数”。例如:5时同构数,因为5的平方数是25,5是25中右侧的数。 下列程序的功能是:调用函数fun判断整数x(0 程序如下: #include int fun(int x) { int a,b; a=_____; /*$BLANK1$*/ if(x<=9) b=a%10; else b=a%100; if (____) /*$BLANK2$*/ return 1; else return 0; } void main() { int x; printf("Input x:"); scanf("%d",&x); if (x>0 && x<100) printf("%d\n",______); /*$BLANK3$*/ else printf("Invalid number!\n"); } 18.题目【程序设计】求s=1+(2*2)+(3*3*3)+(4*4*4*4)+。。。+(9*9*9*9*9*9*9*9*9)的值(要求使用循环实现) 输出格式:s=123456789 模拟七 19.题目【改错】打印数字三角形。输入一个1到9之间的自然数n,输出n行的数字三角形,输出时每个数据站四列。 例如当n=5时,打印以下图形: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 程序如下: #include void fun(int n) { int i,j,s; s=0;/*$ERROR1$*/ for(i=1;i<=n;i++) { j=1; while(j<=n) /*$ERROR2$*/ { printf("%-4d",s); s++; j++; } printf("\n"); } } void main() { int n; scanf("%d",n);/*$ERROR3$*/ fun(n); } 20.题目【程序填空】输入字符串s,统计字符串s中的字符有多少次出现在字符串t中。例如,若输入字符串:“I have a good teacher!”,则输出应该是:7.(字符e,o,o,t,e,e,r)程序如下: #include void main() { char s[81]; char t[]="Computer"; int i,j,n=0; printf("Please input a string:\n"); gets(_____); /*$BLANK1$*/ i=0; while(s[i]!=_____) /*$BLANK2$*/ { for(j=0;t[j]!='\0';j++) if(s[i] == t[j]) { n++; break; } _____; /*$BLANK3$*/ } printf("%d\n",n); } 21.题目【程序设计】设有正整数a和b,其中:(1)a<50,b<50; (2)a+2*b等于121;(3)a*a+b*b等于3370. 求满足条件的a和b的值(说明:a和b的值唯一)。 模拟八 22.题目【改错】以下程序实现了矩阵的输入、转置及输出。矩阵的数据转置前和转置后均存储在数组a中。 程序如下: #include #define N 3 void exchange(int a[N][N]) { int i,j,t; for(i=0;i { j=0; while(j { t=a[j][i]; a[j][i]=a[i][j]; a[i][j]=t; j++; } } } void printfArray(int a[N][N]) { int i,j; for(i=0;i { for(j=0;j printf("%4d",a[i][j]); printf("\n"); } } void main() { int a[N][N],i,j; for(i=0;i for(j=0;j scanf("%d",a[i][j]); /*$ERROR2$*/ printf("Before exchange:\n"); printfArray(a); exchange(a[0][0]);/*$ERROR3$*/ printf("After exchange:\n"); printfArray(a); } 23.题目【程序填空】已知字符串s,从下标为begin开始,顺序取n个字符放在一个新串t 中。 例如:当s中的字符串为:“1234567”,begin等于2,n等于3时,t中的字符串应为:“345”。程序如下: #include #include void main() { char s[81]="1234567",t[81]; int i,p,begin,n; p=0; scanf("%d%d",_________); /*$BLANK1$*/ for(i=begin;i<=______;i++) /*$BLANK2$*/ { t[p]=s[i]; p++; } 1:2:3 #include } } } return 0; } 8 #include"stdio.h" int main() { int a,b[10],m=0,n=0,p; int i,j,k; scanf("%d",&a); for(i=1;i<=a;i++) { m=0; n=0; p=i; for(j=0;p!=0;j++) { b[j]=p%10; p=p/10; } for(k=0;k C语言题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 C语言模拟试题 一、判断 1、关系运算符<= =与= =的优先级相同。(N ) 2、C语言的函数可以嵌套定义。(N ) 3、若有定义和语句:int a;char c;float f;scanf(“%d,%c,%f”,&a,&c,&f);若通过键盘输入:10,A,12.5, 则a=10,c=?A?,f=12.5.( Y ) 4、变量根据其作用域的范围可以分作局部变量和全局变量。( Y ) 5、#define和printf都不是C语句。( Y ) 6、Int I,*p=&I;是正确的C说明。( Y ) 7、结构体类型只有一种。( N ) 8、在Turbo C中,整形数据在内存中占2个字节。( N ) 9、一个include命令可以指定多个被包含的文件。( N ) 10、有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8).( Y ) 二、选择 2、C语言中,char类型数据占(A) A、1个字节 B、2个字节 C、4个字节 D、8个字节 3、已知x=43,ch=?A?,y=o;则表达式(x>=y&&ch1;i--) for(j=1;j 第二章 若有数学式3ae bc,则不正确的C语言表达式是() A.3*a*e/b*c B.a/b/c*e*3 C.3*a*e/b/c D.a*e/c/b*3 设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为()。 A.4 B.3 C.2 D.1 下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是() A.(x/2*2-x)==0 B.!(x%2) C.!(x%2==0) D.x%2==0 表达式18/4*sqrt(4.0)/8值的数据类型为()。 A.char B.double C.不确定 D.float 在C语言中,要求运算数必须是整型的运算符是( ) A.% B./ C.++ D.!= 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。 A.4 C.16 D.52 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A.必须为下划线 B.必须为字母 C.可以是字母、数字和下划线中的任意一种 D.必须为字母或下划线 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( ) A.不知道a的值,不能确定 B.0 C.2 D.1 判断字符型变量c1是否为数字字符的正确表达式为( ) A.(c1>='0')&&(c1<='9') B.(c1>=0)&&(c1<=9) C.('0'>=c1)||('9'<=c1) D.'0'<=c1<='9' 下面四个选项中,均是合法的用户标识符的选项是()。 A._123 temp INT B.A p_o do C.b-a goto int D.float lao _A 以下关于C语言数据类型使用的叙述中错误的是( ) A.若要处理如"人员工资"的相关数据,单精度类型 B.若只处理"真"和"假"两种逻辑值,应使用逻辑类型 C.若要保存带有多位小数的数据,应使用双精度类型 D.若要准确无误差的表示自然数,应使用整数类型 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。 A.7 B.8 C.6 D.2 下面正确的字符常量是() C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include 精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a 一、单项选择题:(10分,每题2分) 1.char*p[10];该语句声明了一个:。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D)有10个元素的指针数组p,每个元素存放一个字符串 2.若intx;且有下面的程序片断,则输出结果为:。 for(x=3;x<6;x++) { printf((x%2)"##%d":"**%d\n",x); } A) ##3B)**3 C)**3D)##3**4 **4##4##4**5##5 ##5**5 3.在while(!x)语句中的!x与下面条件表达式等价的是:。 A)x!=0B)x==1 C)x!=1D)x==0 4.已知 structpoint { intx; inty; }; structrect { structpointpt1; structpointpt2; }; structrectrt; structrect*rp=&rt; 则下面哪一种引用是不正确的________。 A) r t.pt1.xB) (*rp).pt1.xC) rp->pt1.x D)rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为:。 A)*(a+j*n+i)B)*(a+i*n+j)C)*(*(a+i)+j)D)*(*a+i) +j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1.#include {intn; staticchar*monthName[]= {"Illegalmonth","January","February", "March","April","May","June","July","August", "September","October","November","December"}; for(n=1;n<=12;n++) { printf("%s\n",monthName[n]); } } 运行结果是: January February March April May June July August September October November December 2.#include C语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。 输入格式: B 输出格式: 26 #include 1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。 11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大 程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); } 【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p ================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B 能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0; 上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include 《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关 C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行 精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define_123-abcDO WORDIFasesizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__。 A、、4 C、、 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[]”之间 C、花括号“{}”之间 D、圆括号“()”之间 8、有如下程序段,对应正确的数据输入是___A___。 floatx,y; scanf(”%f%f”,&x,&y); printf(”a=%f,b=%f”,x,y); A、<回车> B、,<回车> <回车> C、A=,B=<回车> D、回车> 9、以下程序段的输出结果是___D__。 inta=5678; printf(”%2d\n”,a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:charch='A';则下列表达式的值是__B__。 ch=(ch>='A'&&ch<='Z')?(ch+32):ch; A、A B、a C、Z D、z 选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } A d=70 B d=80 C d=140 D d=700 10.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。 struct worker { int no; char name[20]; char sex; union { int day; int month; int year;}birth; } w; A 29 B 20 C 25 D 6 11.设有以下定义,值为5的枚举常量是()。 enum week{sun,mon=4,tue,wed,thu,fri,sat} w; A tue B sat C fri D thu 12.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。 A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd"; 13.设有以下程序段,则值为6的表达式是()。 struct st { int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p; p=&a[0]; A p++->n B ++p->n C p->n++ D (*p).n++ 写出下列程序的运行结果(10分,每小题2分) 1.float average (float array[10]) { int i; 2020年全国计算机等级考试二级c语言上机精选题库(共80套) 第1套试题 第一题:给定程序中,函数fun的功能是:计算N*N矩阵的主对角元素和反向对角元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 #include 第二题:下列给定程序中,函数fun 的功能是:根据整型参n ,计算如下公式的值。 ,11=A ,1112A +=A ,1123A +=A … ,1 11-A +=A n n 例如,若n=10,则应输出0.617978。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不要更改程序的结构! #include C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998 第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)西工大C语言上机考试题库
C语言题库及答案
大学C语言考试试题
C语言上机题库百科园第2章!南信大!
C语言考试题库及答案复习整理
大学C语言考试试题及答案
C语言考试题及答案
C语言上机题库
c语言上机题库 (1)
C语言程序设计程序填空题库及答案
大学c语言考试题库含答案
c语言上机考试训练题库及答案
c语言期中考试试题及答案
(完整版)C语言试题及答案解析
大学C语言考试题库及答案
大一c语言考试试题
(完整版)c语言期末考试题及其答案
2020年全国计算机等级考试二级c语言上机精选题库(共80套)
C语言函数题库及答案