c语言考试试题以及答案

c语言考试试题以及答案
c语言考试试题以及答案

1. 编程求和1-2+3-4+5-6+…+99-100

#include<>

int main()

{

int i,t,s;

s=0;

t=1;

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

{

t=-t;

s=s+(-t)*i;

}

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

system("pause");

return 0;

}

2.求:1+(1+2)+(1+2+3)+…+(1+2+3+….10) 的和

#include<>

int main()

{

int i,t,s;

s=0;

t=0;

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

{

t=t+i;

s=s+t;

}

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

system("pause");

return 0;

}

3. 求n的值,其中a是一个不为0的数字,例如2+22+222+2222+22222,其中数字a和n由键盘输入。

#include<>

int main()

{

int a,n,i=1,sn=0,tn=0;

printf("a,n:");

scanf("%d %d",&a,&n);

while(i<=n)

{tn=tn+a;

sn=sn+tn;

a=a*10;

i++;

}

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

system("pause");

return 0;

}

4. 有一个函数如下:

x (x<5)

y= 2x+6 (5<=x<15)

2x-6 (x>=15)

输入x的值,计算出相应的y值。

#include<>

int main()

{

int x,y;

printf("输入X:");

scanf("%d",&x);

if(x<5)

{

y=x;

printf("x=%3d,y=x=%d\n",x,y);

}

else if(x>=5&&x<15)

{y=2*x+6;

printf("x=%3d,y=2*x+6=%d\n",x,y);

}

else

{y=2*x-6;

printf("x=%3d,y=2*x-6=%d\n",x,y);

}

system("pause");

return 0;

}

5. 某国的税收政策为:1000元以下免税,1000~2000元缴纳5%的税,2000~4000元上税10%,4000元以上按20%交税。试编写程序,输入一个人的收入,计算其需要上缴的税额。

#include<>

int main()

{

float a;

scanf("%f",&a);

if(a<=1000)

{

printf("免税",a);

}

if(a>1000&&a<=2000)

{

printf("%f",a*);

}

if(a>2000&&a<=4000)

{

printf("%f",a*);

}

else

printf("%f",a*);

system("pause");

return 0;

}

6. 编程分段统计学生成绩,输入为负数时结束。要求按90-100、80-89、70-79、60-69、60以下五档分别统计各分数段人数

#include<>

int main()

{

float score;

int a[6]={0,0,0,0,0,0};

char grade;

int i;

do{

scanf("%f",&score);

switch((int)(score/10))

{case 10:

case 9: a[0]=a[0]+1;break;

case 8: a[1]=a[1]+1;break;

case 7: a[2]=a[2]+1;break;

case 6: a[3]=a[3]+1;break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0: a[4]=a[4]+1;

}

}while(score>0);

printf("90~~100: %d\n",a[0]);

printf("80~~89: %d\n",a[1]);

printf("70~~79: %d\n",a[2]);

printf("60~~69: %d\n",a[3]);

printf("60一下: %d\n",a[4]);

system("pause");

return 0;

}

7.某班有45个同学,现在输入所有同学的计算机成绩。编程求最高分、最低分和不及格的人数。

#include<>

#include<>

int main()

{

int max(int a[45]);

int min(int a[45]);

int fail(int a[45]);

int i,a[45],Max,Min,Fail;

printf("请输入成绩:\n");

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

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

printf("\n");

Max=max(a);

Min=min(a);

Fail=fail(a);

printf("最大值是:%d\n",Max);

printf("最小值是:%d\n",Min);

printf("不及格是:%d\n",Fail);

system("PAUSE");

}

int max(int a[45])

{int i,m;m=a[0];

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

{

if(m<=a[i])

m=a[i];

}

return m;

}

int min(int a[45])

{int i,m;m=a[0];

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

{

if(m>a[i])

m=a[i];

}

return m;

}

int fail(int a[45])

{int i,m=0;

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

{

if(a[i]<60)

m=m+1;

}

return m;

}

8.求fibonacci数列的前20项。

#include<>

int main()

{

int i;

int f[20]={1,1};

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

f[i]=f[i-2]+f[i-1];

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

{if(i%5==0)

printf("\n");

printf("%12d",f[i]);

}

printf("\n");

system("pause");

return 0;

}

9.一个数组有20个数组元素,试编程对这些数组元素从大到小排列。

#include <>

int main()

{

int a[20];

int i,j,t;

printf("输入20个数:\n");

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

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

printf("\n");

for(j=0;j<19;j++)

for(i=0;i<19-j;i++)

if(a[i+1] > a[i])

{

t= a[i+1] ;

a[i+1] =a[i];

a[i] =t;

}

printf("输出的顺序数;\n");

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

printf("%d\n",a[i]);

printf("\n");

system("PAUSE");

return 0;

}

10. 试编写程序,实现随机产生10个递增的整数,组成一个升序数组。然后从键盘再输入一个整数并把该数插入数组中,使数组仍然有序。

#include <>

#include <>

int main()

{

int a[11],i,j,t;

scanf("%d",&a[10]);

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

{

a[i]=rand();

}

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

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

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

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

printf("%d\n",a[i]);

system("pause");

return 0;

}

11.有一个3×4的矩阵,编程输出最大元素的值,以及其所在的行号和列号。要求:数组里的元素不能用初始化的方式赋值,要从键盘输入。

见c程序设计P139页

#include<>

#include<>

int main()

{

int i,j,k,n,row=0,colum=0,max;

int a[3][4];

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

{for( n=0;n<4;n++)

scanf("%d",&a[k][n]);

}

max=a[0][0];

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

for(j=0;j<4;j++)

if(a[i][j]>max)

{max=a[i][j];

row=i;

colum=j;

}

printf("max=%d,row=%d,colum=%d\n",max,row,colum);

system("pause");

}

12.编写一个函数,功能是返回一个一维int型数组的最大值。

#include<>

#include<>

int main()

{

int max(int a[10]);

int i,a[10],Max;

printf("请输入数值:\n");

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

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

printf("\n");

Max=max(a);

printf("最大值是:%d\n",Max);

system("PAUSE");

}

int max(int a[10])

{int i,m=a[0];

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

{

if(m

m=a[i];

}

return m;

}

13.编写判断一个整数是否为素数的函数,在主函数中调用该函数输出100以内的孪生素数(若p与p+2都是素数,则它们是孪生素数)。

#include <>

#include <>

int prime(int i)

{

long j, tmp = sqrt(i)+1;

for(j=2;j<=tmp;j++) {

if (i%j==0) {

return 0;

}

}

return 1;

}

int main ()

{

long n=100;

long i;

printf("以内100的孪生素数;\n");

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

if(prime(i)&&prime(i+2))

printf ("\t%2d %2d\n", i, i+2);

system("pause");

return 0;

}

14. 编写程序在一个数组中删除指定下标的元素,要求:删除功能放在一自定义函数中,并用指针变量做函数形参,在主函数中输入数组并输出删除元素后的数组。

#include <>

#include <>

void ElementDelete(char* p,int c,int d)

{ int i;

for (int i=d-1; i

{

p[i]=p[i+1];

}

}

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

{

char a[100];

int n;

gets(a);

scanf("%d",&n);

ElementDelete(a,sizeof(a)/sizeof(a[0]),n);

puts(a);

system("PAUSE");

return 0;

}

15. 编写一个函数,在此函数中实现把实参传过来的一个字符串按ASCII码降序排列。排序前的字符串和排序后的字符串都在主函数中输入、输出。

#include<>

# include<>

void in(char str[])

{

int m,i,j;

char t;

m=strlen(str);

for(j=0;j

for(i=0;i

if (str[i]>str[i+1])

{

t=str[i];

str[i]=str[i+1];

str[i+1]=t;

}

}

int main()

{char str[100];

int j,m;

scanf("%s",str);

m=strlen(str);

in(str);

printf("%s",str);

system("pause");

return 0;

}

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学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

C语言考试试题

试题 课程名称C语言程序设计适用时间 试卷类别 A 适用专业、年级、班 一、选择题(每小题2分, 2×25=50分) 1.下列叙述错误的是( )。 A) C程序中的每条语句都用一个分号作为结束符B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 2.以下叙述不正确的是( )。 A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面 3.C语言中最简单的数据类型包括( )。 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)字符型、实型、逻辑型 4.C语言中运算对象必须是整型的运算符是( )。 A)%= B)/ C)= D)<= 5.若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。 A)a= =1 B)++i;C)a=a++=5;D)a=int(i); 6.下列运算符中优先级最高的是( )。 A) < B) + C) && D) ! = 7.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是( )。 A) int B) float C) double D) char 8.设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是( )。 A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值 9.设整型变量a,b的值均为8, printf("%d,%d",(a++,++b),b--);的输出是( )。 A)8,8 B)8,7 C)9,9 D)8,9 10.若有语句scanf("%d%d",&a,&b);要使变量a,b分别得到10和20,正确的输入形式为( )。 A)10 20 B)10,20 C)1020 D)10:20 11.判断char型变量ch是否为大写字母的正确表达式是( )。 A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z') C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch) 12.有如下程序 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\n",a,b);} 该程序的输出结果是( )。 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 13.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main( ) { int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) { for(k=1;k<=4;k++) { scanf("%f",&score); sum+=score; } ave=sum/4.0; printf("NO%d:%f\n",n,ave); } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。 A) sum=0.0; B) sum+=score; C) ave=sun/4.0; D) printf("NO%d:%f\n",n,ave);

C语言考试试卷及答案

2011-2012学年第一学期 C语言程序设计A 课程A卷考试题 共 4 页此第 1 页成绩 一、单项选择题(每小题2分,共40分) 1. C语言中合法的字符常量是() A.n B.’\n’ C.110 D.”n” 2. 有以下程序: main( ) { char ch=’A’; printf(“ch(1)=%d,ch(2)=%c\n”,ch,ch+1); } 程序运行后的输出结果是() A. ch(1)=65,ch(2)=A B. ch(1)=97,ch(2)=A C. ch(1)=65,ch(2)=B D. ch(1)=97,ch(2)=B 3. 能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是() A. a==-b&&a%2==0 B. a!=b&&a+b==0&&a%2 C. !(a%2)&&a==-b D.a%2==0&&a+b==0 4. 以下程序段中语句” printf("i=%d,j=%d\n",i,j);”的执行次数是() int i, j; for(i=3;i ;i--) for(j=1;j<5;j++) printf("i=%d,j=%d\n",i,j); A. 12 B. 20 C. 15 D. 24 5. 执行以下程序段后,x[2]的值是() int x[10]={1,2,3,4,5,6,7,8,9,10},i,j,t; i=0;j=9; while(i

c语言期中考试试题及答案

中国民航大学2009-2010学年第二学期 《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) 与机器字长有关 8、下列四组(八进制或十六进制)常数中,正确的一组是(【8】)。【8】 A) 016 0xbf 18 B) 0abc 017 0xa C) 010 -0x11 0x16 D) 0A12 7FF -123 9、下列四组转义字符中,合法的一组是(【9】)。 【9】 A)‘\t’‘\\’‘\n’ B)‘\’‘\017’‘\x’

C语言考试试题

1.若x为int型变量,则执行以下语句后,x的值为-60。 x=6; x+=x-=x*x; x=x-x*x=-30 x=x+x=-60 2.若有定义int a[2][3]; 则对a数组的第i行第j列元素地址的正确引用为a[i]+j。 3.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是*p=*&j。 4.以下叙述正确的是define和if都不能定义为用户标识符。 5. 以下程序的输出结果是2。 #define SQR(X) X*X main() { int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); a/=k+k*m+m/k+k*m+m printf("%d\n",a); } 6. 以下程序的输出结果是4。 main() {int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) for(j=i;j<=i;j++) t=t+b[i][j]; { t=t+b[i][j];} printf("%d\n",t); printf("%d\n",t); }_ 7. 编一个程序,打入星期号,输出该星期的英文名字。例如,输入"1"则输出"Monday",说明:星期日编号为0,要求用指针数组处理。 main() { char *name[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday", "Saturday"}; int n; printf("\nInput the number(0-6):"); scanf("%d", &n); if ((n< 7) && (n>=0)) printf("\nThe name is: %s",name[n]); else printf("\nInput error"); } 8. 局部变量是静态存储变量。错误 9. "文件包含"处理是指一个源文件可以将另一个源文件的内容全部包含进来。正确 10. 若有定义:int *p1,*p2;则p1+p2无实际意义。正确 11. 若在函数内定义形参数组a:int a[3][4];则数组a中各元素可在程序的编译阶段得到初值0。错误 12. 以下不能正确定义二维数组的选项是int a[2][]={{1,2},{3,4}};。 13. 以下程序的输出结果是6 15 15。 int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); } main( ) { int a=3; printf("%d \n", fun(a+fun(d))); }

C语言考试试题基础版

一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个 C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与?A ?是相同的 B. 字符串是常量,字符是变量 C. “A ”与?A ?是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。 A. PAd ,P#d ,b-b ,abc ,_0123,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,,list ,*jer if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

C语言考试题及答案

一、单项选择题:(10分,每题2分) 1.char *p[10];该语句声明了一个: c 。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2.若int x;且有下面的程序片断,则输出结果为: D 。 for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "**%d\n", x); } A) ##3B) **3C) **3D)##3**4 **4 ##4 ##4**5 ##5 ##5 **5 3.在while(!x)语句中的!x与下面条件表达式等价的是:D 。 A) x!=0 B) x==1 C) x!=1 D) x==0 4.已知 struct point { int x; int y; }; struct rect { struct point pt1; struct point pt2; }; struct rect rt; struct rect *rp = &rt; 则下面哪一种引用是不正确的__D______。 A) r t.pt1.x B) (*rp).pt1.x C) r p->pt1.x D) rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。 A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(a+i)+j) D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1. #include main()

c语言考试试题

六 ━━━━━━━━━━━━━━━ 一、判断共10题(共计20分) ━━━━━━━━━━━━━━━ 第1题(2.0分)题号:1259 若定义int m[]={1,2,3,4,5};则m[1]的值为2. 答案:Y 第2题(2.0分)题号:1275 如果定义一个函数时省略类型,则函数没有返回值. 答案:N 第3题(2.0分)题号:12 结构体类型只有一种。 答案:N 第4题(2.0分)题号:1241 在C语言的标识符中,大写字母和小写字母完全等价. 答案: 第5题(2.0分)题号:1271 定义一种结构体类型后,则用该类型定义的所有变量占用内存的大小是相同的. 答案:Y 第6题(2.0分)题号:1269 若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y 第7题(2.0分)题号:1096 C语言中"%"运算符的运算对象必须是整型. 答案:Y 第8题(2.0分)题号:1109 两个字符串中的字符个数相同时才能进行字符 串大小的比较 答案:N 第9题(2.0分)题号:1135 语句printf("%c",65);存在语法错误. 答案:N 第10题(2.0分)题号:32 若有说明int c;则while(c=getchar());是正 确的C语句。 答案:Y ━━━━━━━━━━━━━━━━━ 二、单项选择共15题(共计30分) ━━━━━━━━━━━━━━━━━ 第1题(2.0分)题号:3114 C语言源程序名的后缀是 A:exe B:c C:obj D:cp 答案:B 第2题(2.0分)题号:184 以下不能正确定义二维数组的选项是 ( ). A:int a[2][2]={{1},{2}}; B:int a[][2]={1,2,3,4}; C:int a[2][2]={{1},2,3}; D:int a[2][]={{1,2},{3,4}}; 答案:D 第3题(2.0分)题号:129 以下各标识符中,合法的用户标识符为 ( ). A:A#C B:mystery C:main D:ab* 答案:B 第4题(2.0分)题号:632 以下叙述正确的是()。 A:do-while语句构成的循环不能用其它语句构 成的循环来代替. B:do-while语句构成的循环只能用break语句 退出. C:用do-while语句构成的循环,在while后的表 达式为非零时结束循环. D:用do-while语句构成的循环,在while后的表 达式为零时结束循环 答案:D 第5题(2.0分)题号:149 以下程序的输出结果是()。 main() {float x=3.6; int i; i=(int)x; printf("x=%f,i=%d\n",x,i); } A:x=3.600000,i=4 B:x=3,i=3 C:x=3.600000,i=3 D:x=3 i=3.600000 答案:C 第6题(2.0分)题号:172 在C语言程序中()。 A:函数的定义可以嵌套,但函数的调用不可以 嵌套 B:函数的定义不可以嵌套,但函数的调用可以 嵌套 C:函数的定义和函数调用均可以嵌套 D:函数的定义和函数调用不可以嵌套 答案:B 第7题(2.0分)题号:678 当调用函数时,实参是一个数组名,则向函数 传送的是()。 A:数组的长度 B:数组的首地址 C:数组每一个元素的地址 D:数组每个元素中的值 答案:B 第8题(2.0分)题号:125 下列程序的输出结果是()。 main() {int a=7,b=5; printf("%d\n",b=b/a); } A:0 B:5 C:1

C语言试题

一、Select one answer from the four answers:( for each question, a total of 30 points) 1.Which of the following expressiong is the equivalent to k=n++? ( ). A) k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+1 2.What will be the printed output of the following program? ( ). main( ) { int x=10,y=10; printf("%d %d\n",x--,--y); } A)10 10 B) 9 9 C) 9 10 D) 10 9 3.Choose the correct output that following program produces. ( ). main() { int x; x=-3+4*5-6; printf("%d",x); x= 3+4%5-6; printf("%d",x); x=-3*4%6/5; printf("%d",x); x=(7+6)%5/2; printf("%d",x); } A) 11 1 0 1 B) 11 -3 2 1 C) 12 -3 2 1 D)11 1 2 1 4. The printed output of the following program is ( ). #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); } A) -1 B) 1 C) 8 D) 0

大学C语言期末考试试题及答案

大学C语言期末考试试题 一选择题(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); }

C语言期末考试试题及详细答案

选择练习题 1、C 语言中最简单的数据类型包括( B )。 A 、整型,实型,逻辑型 B 、整型,实型,字符型 C 、整型,字符型,逻辑型 D 、整型,实型,逻辑型,字符型 2、C 语言中,运算对象必须是整型数的运算符是(A )。 A 、% B 、/ C 、%和/ D 、* 3、为表示关系x <y <z ,应使用C 语言表达式( A )。 A 、(x <y)&&(y <z ) B 、(x <y)AND (y <z) C 、(x <y <z) D 、(x <y) &(y <z) 4、C 语言程序的基本单位是( C )。 A 、程序行 B 、语句 C 、函数 D 、字符 5、C 语言的程序一行写不下时,可以( D )。 A 、用逗号换行 B 、用分号换行 C 、用回车符换行 D 、在任意一空格处换行 6、下述标识符中,( C )是合法的用户标识符。 A 、A& B B 、void C 、_student D 、 7、在C 语言中,字符型数据在内存中以( B A 、补码 B 、ASCII 码 C 、反码 D 、原码 8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B )。 A 、auto B 、extern C 、static D 、Register 9、以下关于switch 语句和break 语句的描述中,只有(B A 、在switch 语句中必须使用break 语句 B 、在switch 语句中,可以根据需要使用或不使用break 语句 C 、break 语句只能用于switch 语句中 D 、break 语句是switch 语句的一部分 10、C 语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。 A 、地址传递 B 、值传递 C 、由实参传给形参,并由形参传回给实参 D 、由用户指定传递方式 11、下述C 语言转义符中( D )是非法的。 A 、'\b' B 、'\037' C 、'\0xf ' D 、'\'' 12、为了要计算s=10!(10的阶乘),则以下对s 的定义正确的是( D )。

C语言考试试题基础版

如对你有帮助,请购买下载打赏,谢谢! 一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个 C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与’A ’是相同的 B. 字符串是常量,字符是变量 C. “A ”与’A ’是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。 A. PAd ,P#d ,b-b ,abc ,_0123,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,,list ,*jer if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

C语言考试试卷

二级 C语言考试试卷 (考试说明及第一部分计算机基础知识略) 第二部分 C语言程序设计 一、选择题(用答题卡答题,答案依次填在21~30答题号内) 21. 若有声明语句char s1[10]={0},s2[10]= "books";则能将字符串"books"赋给数组s1保存的表达式是 21 。 A. s1=”books”; B. strcpy(s2,s1); C. s1=s2; D. strcat(s1,s2); 22. 表达式(a=4*5,b=a*2),b-a,a+=2的值是 22 。 A.2 B. 20 C. 22 D. 42 23. 以下是一个自定义函数的头部,其中正确的是 23 。 A. int fun(int a[ ],b) B. int fun(int a[ ],int a) C. int fun(int * a,int b) D. int fun(char a[ ][ ],int b) 24. 以下数组声明语句中正确的是 24 。 A.int n,a[n]; B. int a[ ]; C. int a[2][3]={{1},{2},{3}}; D. int a[ ][3]={{1},{2},{3}}; 25.已知在某C语言编译系统中表达式sizeof(int)的值是2,如果希望将常量-70000正确地保存在一个变量a中,该变量声明语句应当是 25 。 A.int a; B. long int a; C. unsigned int a; D. unsigned long int a; 26. 以下声明语句中,用于声明一个行指针变量的是 26 。 A. int *p(int); B. int *p; C.int (*p)[3]; D. int (*p)(int); 27. 已知A盘根目录下的一个文本数据文件data.dat中存储了100个int型数据,若需要修改该文件中已经存在的若干个数据的值,只能调用依次fopen函数,已有声明语句FILE*fp;则fopen 函数的正确调用形式是 27 。 A. fp=fopen(”a:\\data.dat”,”r+”); B. fp=fopen(”a:\\data.dat”,”w+”); C. fp=fopen(”a:\\data.dat”,”a+”); D. fp=fopen(”a:\\data.dat”,”w”); 28. 在以下程序中,需要在fun函数中声明一个int型的变量,以下选项中 28 不能用作该变量的名字。 A.x B. y C. fabs D. fun #include int y; main( ) {int a=1; fun(a); } int fun(int x) { ; /* int型变量声明语句位置*/ … /*若干执行语句*/ }

大学C语言考试题库(含答案)

单项选择 ================================================== 题号: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 题号:45 能正确表示逻辑关系:" 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; while(i<10) { if(i<1) continue; if(i==5) break; i++; } } A、死循环,不能确定次数 B、6

C语言考试试题

c语言考试题(一) 一、单项选择题(每题2分,共20分) 1、以下选项中属于C语言的数据类型是() A.复数型B.逻辑型C.集合型D.双精度型 2、一个C程序的执行是从() A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束 C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束 3、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是()A.3 B.0C.-12D.9 4、若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。 A.cd\0e B.'c''d' C.cd D.cd e 5、已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;则下列表达式不是4的是( )。 A.*(*p+3) B.*p+3 C.*(*(p+0)+3) D.a[0][3] 6、以下有宏替换不正确的叙述( ). A.宏替换不占用运行时间B.宏名无类型 C.宏替换只是字符串替换D.宏名必须用大写字母表示

7、执行char str[10]=”Ch\nina”; strlen(str)的值是()A.5 B.6 C.7 D.9 8、下面程序的输出结果是:() #define POWER(x) (x*x) main() {int i=4; printf("%d",POWER(i-2)); } A. -9 B. -7 C. 5 D. -6 9、在定义int a[3][4][2];后,第10个元素是() A.a[2][1][2] B.a[1][0][1] C.a[2][0][1] D.a[2][2][1] 10、下面程序的输出结果是:() typedef struct {long x[2]; short y[4]; char z[8]; }MYTYPE; MYTYPE a; main() { printf("%d\n",sizeof(a));} A. 2 B. 8 C. 14 D. 24 二、填空题(每空1分,共11分) 1、字符串"A"在内存中占用的字节数为。 2、C语言中的标识符只能由字母、下划线和组成。

c语言考试题

fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是()。 A、读或读写 B、追加 C、只写 D、答案B和C都正确 【参考答案】错误 A 【学生答案】 、 D 使用共用体变量,不可以()。 A、同时访问所有成员 B、进行动态管理 C、节省存储空间 D、简化程序设计 【参考答案】正确 A 【学生答案】 % A 设有如下定义:struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是()。 A、p=(struct sk*) ; B、*p=; C、p=&; D、p=&data,a; 【参考答案】错误 C \ 【学生答案】 B 以下程序段执行后输出的结果是( ). char str[ ]="ABCD",*p=str; printf("%d\n",*(p+4)); A、字符'D'的地址 B、0 C、不确定的值 D、68 【参考答案】错误 ^

B 【学生答案】 D 已定义char a[10];和char *p=a;,下面的赋值语句中正确的是( ). A、p="Turbo c"; B、a="Turbo c"; C、*p="Turbo c"; > D、a[10]="Turbo c"; 【参考答案】错误 A 【学生答案】 C 设有如下程序,请选择正确答案( )。 #include <> main() {int **k,*j,i=100; 》 j=&i, k=&j; printf("%d\n",**k); } A、运行错误 B、100 C、i的地址 D、j的地址 【参考答案】正确 B / 【学生答案】 B 以下叙述正确的是()。 A、可以把if定义为用户标识符,但不能把define定义为用户标识符 B、define和if都不能定义为用户标识符 C、可以把define定义为用户标识符,但不能把if定义为用户标识符 D、可以把define和if定义为用户标识符 【参考答案】正确 C ?

C语言考试题库及答案精编

1、下面程序的输出是___D _________ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中, 不正确的赋值语句是 __D _______ . A) ++t; B) n1=(n2=(n3=0)); D) 1 5、 C 语言提供的合法的数据类型关键字是 _____ B _____ . A) Double B) short C) integer D) Char 6、字符(char) 型数据在微机内存中的存储 形式是__D__. A) 反码B) 补码C) EBCDIC 码D) ASCII 码 7、C语言程序的基本单位是______ C ________ . A)程序行B) 语句C) 函数 D) 字符 8、设int a=12, 则执行完语句a+=a-=a*a 后,a的值是 D A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后, 输出结果是__ B__. C) k=i=j; D) a=b+c=1; 3、下面合法的 C 语言字符常量是 _______ A _____ . A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9 的值是___ ____ D _____ . A) true B) 非零值C) 0

#include void main() {int a;

C语言考试题库之填空题

二,填空题(10道小题,共20分) 1、一个C源程序中至少应包含一个[main]函数。 2、a是整型变量,则执行表达式a=25/3%3后a的值为。[2] 3、int m=5,y=2;则表达式y+=y- =m*=y的值为。[-16] 4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b );的输出结果分别是[2,1] 5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型 6、当运行以下程序时,从键盘键入right?(代表回车),则下面程序的运行结果是。#include main( ) { char c; while((c=getchar())!='?') putchar(++c) } [sjhiu?] 7、C语言中的数组必须先[定义],然后使用。 8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。 9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。[3.2] 10、以下程序 void fun(char *a, char *b) { a=b; (*a)++; } main () { char c1="A", c2="a", *p1, *p2; p1=&c1; p2=&c2; fun(p1,p2); printf(“&c&c\n”,c1,c2); } 运行后的输出结果是。[&c&c] 11、字符串常量“123”在内存中的字节数是。[4字节] 12、已有定义:int x=3 ;则表达式:x=x+1.78 的值是。【4】 13、int a=24; printf("%o ", a );输出结果是。【30】 14、当a=3,b=2,c=1时,表达式f=a>b>c的值是。【0】 15、下面程序的运行结果是。【x=1,y=20】 #include main() { int i,x,y; i=x=y=0; do {++i; if(i%2!=0) {x=x+i;i++;}

C语言考试试题

C语言程序设计_复习题 第一部分(填空题): 1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。 A.大写字母 B.连接符 C.数字字符 D.下划线 答案:B 2.下面关于计算机正确的是( )。 A.计算机由硬件系统和软件系统两部分构成 B.只要有硬件系统,计算机就能工作 C.计算机只能处理文本信息 D.计算机只能处理计算问题 答案:A 3.( )是c语言提供的合法的数据类型关键字。 A.Int B.long C.Char D.integer 答案:B 4.面向过程的高级语言包括( )。 A.C,JAVA B.C,BASIC C.C++.NET,ASP D.C,VB 答案:B 5.软件按功能可以分为: 应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。 A.编译程序 B. 操作系统 C.教务管理系统 D.汇编程序 答案:C 6.以下选项中关于C语言常量的叙述错误的是()。 A.所谓常量,是指在程序运行过程中,其值不能被改变的量

B.常量分为整型常量、实型常量、字符常量和字符串常量 C.常量可分为数值型常量和非数值型常量 D.经常被使用的变量可以定义成常量 答案:D 7.下面描述中正确的是()。 A.C语言提供了专门的输入/输出语句 B.C语言调用输入/输出函数时需要使用include命令包含头文件 C.C语言可以直接使用输入/输出函数 D.输入/输出函数所在的头文件是stdlib.h 答案:B 8.假设有char型变量c1,c2,执行下面程序段: c1=gatchar(); c2=gatchar(); printf(“c1=%c,c2=%c\n”,c1,c2); 如果c1和c2的值分别为字符a和b,则从键盘正确的输入方式是()。 A.ab<回车> B.a<回车>b<回车> B.C.a<空格>b<回车> D.ab<回车> 答案:A 9.下面描述中正确的是()。 A.printf()函数的输出列表项只允许是变量 B.printf()函数的输出列表项可以是常量、变量以及表达式 C.printf()函数输出列表项也可以是另一个printf()函数 D.printf()函数的输出列表项之间用空格分隔 答案:B 10.假设有:int a,b; scanf("%d,%d",&a,&b);

相关主题
相关文档
最新文档