文档库 最新最全的文档下载
当前位置:文档库 › C语言,沈阳理工大学,考试复习习题

C语言,沈阳理工大学,考试复习习题

C语言,沈阳理工大学,考试复习习题
C语言,沈阳理工大学,考试复习习题

6.1:求出1—100之间的素数,并以每行打印5个输出,当求得素数的个数超过20个时,不再计算。

6.1:# include

main()

{ int i,j,k,n=0;

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

{ k=sqrt(i);

for(j=2;j<=k;j++)

if(i%j==0) break;

if(j>=k+1) { printf(“%3d”,i);

n++;

if(n%5==0)

printf(“\n”);

if(n>=20) break;

}

}

}

6.2:键盘上输入两个正整数,分别赋给变量a和b,计算从a的值到b的值之间的所有整数之和,并输出结果。5+6+7+8+9=35 6.2:#include

main()

{ int a,b,sum;

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

if(a>b) { t=a;a=b;b=t;}

for(sum=0;a<=b;a++)

{ sum+=a;

printf(“%d+”,a);

}

printf(“\b=%d\n”,sum);

} 6.3:打印形状为直角三角形的九九表。

1

2 4

3 6 9

4 8 12 16

9 18 27 (81)

数组

} *

6.3:#include

main()

{ int i,j;

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

{ for(j=1;j<=i;j++)

printf(“%4d”,i*j);

printf(“\n”);

}

}

7.1:从键盘输入10个不为零的整数,将它们按正负数分开后,分别按从小到大的顺序打印出来。

7.1:#include

main()

{ int i,j,t,m=0,a[10];

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

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

printf(“\n”);

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

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

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

{ t=a[j];a[j]=a[j+1];a[j+1]=t;}

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

if(a[i]<0) { printf(“%4d”,a[i]);

m++; }

printf(“\n”);

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

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

}

8.2:用起泡法对10个数排序。(用函数实现)8.2:#include

main()

{ void sort(int array[],int n);

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

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

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

sort(a,10);

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

if(a[i]<0) { printf(“%4d”,a[i]);

m++; }

printf(“\n”);

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

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

}

void sort(int array[],int n)

{ int i,j,k,t;

for(i=0;i

{ k=i;

for(j=i+1;j

if(array[j]

t=array[k];array[k]=array[i];array[i]=t;

} 8.3:用选择法对10个数排序。(用函数实现)8.3:#include

main()

{ void sort(int array[],int n);

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

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

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

sort(a,10);

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

if(a[i]<0) { printf(“%4d”,a[i]);

m++; }

printf(“\n”);

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

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

}

void sort(int array[],int n)

{ int i,j,t;

for(i=0;i

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

if(array[j]>array[j+1])

{ t=array[j];array[j]=array[j+1];array[j+1]=t; } }

}

9.1输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:①输入10个数;②进行处理;

③输出10个数。

9.1:# include

main()

{ void input(int number[10]);

void max_min_value(int array[10]);

void output(int array[10]);

int number[10];

input (number);

max_min_value(number);

output(number);

}

void input(int number[10])

{ int i;

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

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

void max_min_value(int array[10])

{ int *max,*min,*p,*array_end;

array_end=array+10;

max=min=array;

for(p=array+1;p

if(*p>*max) max=p;

else if (*p<*min) min=p;

*p=array[0];array[0]=*min;*min=*p;

*p=array[9];array[9]=*max;*max=*p;

}

void output(int array[10])

{ int *p;

for (p=array;p<=array+9;p++)

printf(“%4d”,*p);} 10.1有 10个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,和最高成绩。

10.1:# include

struct student

{ char num[6];

char name[8];

int score[3];

float avr;

}stu[10];

main()

{ int i,j,max=0,maxi=0,sum=0;

float average=0;

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

{ scanf(“%s%s”,stu[i].num,stu[i].name);

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

scanf(“%d”,&stu[i].score[j]);

}

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

{ sum=0;

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

sum+=stu[i].score[j];

stu[i].avr=sum/3.0;

average+=stu[i].avr;

if(sum>max) { max=sum; maxi=i; }

}

average/=10;

printf(“average=%6.2f\n”,average);

printf(“The highest score is:%s,%s,%d,%f”, stu[maxi].num,stu[maxi].name,max,stu[maxi]. avr);

}

7.2:* * * * *

* * * * *

* * * * *

* * * * *

* * * * *

7.2:#include

main()

{ char a[5]={‘*’,‘*’,‘*’,‘*’,‘*’};

int i,j,k;

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

{ for(j=0;j

printf(“%c”,“”);

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

printf(“%c”,a[k]);

printf(“\n”):

}

}

8.1:判断m是否是素数。(用函数实现)8.1:#include

main()

{ int f(int m);

int m,n;

scanf(“%d”,&m);

n=f(m);

if(n) printf(“%d is a prime number\n”,m);

else printf(“%d is not a prime number\n”,m);

}

int f(int m)

{ int i,k,p;

k=sqrt(m);

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

if(m%i==0) break;

if(i>=k+1) p=1;

else p=0;

return p;

}

选择结构

例5.1 输入两个实数,按代数值由小到大的顺序输出这两个数。

#include

main()

{ float a,b,t;

scanf(″%f,%f″,&a,&b);

if(a>b)

{ t=a;

a=b;

b=t;}

printf(″%5.2f,%5.2f\n″,a,b);

}

例5.2 输入三个数,找出其中最大的数。main()

{ int a,b,c,t;

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

if(a>b) t=a;

else t=b;

if(t

printf(“max=%d”,t);

}

循环结构

例6.6 判断m是否素数。

#include

#include

main()

{int m,i,k;

scanf(″%d″,&m);

k=sqrt(m);

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

if(m%i==0) break;

if(i>=k+1) printf("%d is a prime number\n″,m);

else printf("%d is not a prime number\n″,m);

}

例6.7 求100~200间的全部素数。

#include

#include

main()

{ int i,j,k,n=0;

for(i=101;i<=200;i=i+2)

{ k=sqrt(i);

for (j=2;j<=k;j++)

if (i%j==0) break;

if (j>=k+1){ printf(″%d ″,i);n=n+1;}

if(n%10==0) printf(″\n″);

}

printf (″\n″);

}

例6.8 编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩。#include

main()

{ int i,j;

float score,sum,ave;

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

{ sum=0;

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

{ scanf(″%f″,&score);

sum+=score; }

ave=sum/5;

printf (″No.%d ave=%5.2f\n″,i,ave);

}

例6.9 输出以下图形。

*

* * *

* * * * *

* * * * * * *

* * * * *

* * *

# include

main( )

{ int i,j,k;

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

{ for(j=1;j<=4-i;j++)

printf(“”);

for(k=1;k<=2*i-1;k++)

printf(“*”);

printf(“\n”); }

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

{ for(j=1;j<=i;j++)

printf(“”);

for(k=1;k<=7-2*i;k++)

printf(“*”);

printf(“\n”); }

例7.5: 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

#include

main()

{int i,j,row=0,colum=0,max;

int a[3][4]={{1,2,3,4},{9,8,7,6},

{-10,10,-5,2}}; max=a[0][0];

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

for (j=0;j<=3;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); }

指针

例9.2 输入a和b两个整数,按先大后小的顺序输出a和b

#include

void main()

{int *p1,*p2,*p,a,b;

scanf(″%d,%d″,&a,&b);

p1=&a;p2=&b;

if(a<b)

{p=p1;p1=p2;p2=p;}

printf(″a=%d,b=%d\n″,a,b);printf(″max=%d,min=%d\n″,*p1,*p2);

例9 . 3 输入a和b两个整数,按先大后小的顺序输出。

#include

void main()

{void swap(int *p1,int *p2);

int a,b;

int *pointer_1,*pointer_2;

scanf(″%d,%d″,&a,&b);pointer_1=&a;pointer_2=&b;

if(a<b)swap(pointer_1,pointer_2);printf(″%d,%d\n″,a,b);

void swap(int *p1,int *p2)

{int temp;

temp=*p1;

*p1=*p2;

*p2=temp;

例9.4输入a、b、c3个整数,按大小顺序输出。

#include

void main()

{void exchange(int *q1,int *q2,int *q3); int a,b,c,*p1,*p2,*p3;

scanf(″%d,%d,%d″,&a, &b, &c);

p1=&a;p2=&b;p3=&c;exchange (p1,p2,p3);

printf(″%d,%d,%d\n″,a,b,c);

void exchange(int *q1,int *q2,int *q3){void swap(int *pt1,int *pt2);

if(*q1<*q2)swap(q1,q2);

if(*q1<*q3)swap(q1,q3);

if(*q2<*q3)swap(q2,q3);

void swap(int *pt1,int *pt2)

{int temp;

temp=*pt1;

*pt1=*pt2;

*pt2=temp;

例9.8:用指针变量输出二维数组元素的值#include

void main()

{int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

int *p;

for(p=a[0];p<a[0]+12;p++)

{if((p-a[0])%4==0)

printf(″\n″);

printf(″%4d″,*p);}}

例9.9:输出二维数组任一行任一列元素的值

#include

void main ( )

{int a[3][4]={1,3,5,7,9,11,

13,15,17,19,21,23};

int (*p)[4],i,j;

p=a;

scanf(″i=%d,j=%d″,&i,&j);

printf(″a[%d][%d]=%d\n″,i,j,*(*(p+i)+j));

运行情况如下:

i=1,j=2↙

a[1,2]=13

例9.10:有一个班,3个学生,各学4门课,计算总平均分数以及第n个学生的成绩。

#include

void main()

{ void average(float *p,int n);

void search(float (*p)[4],int n);

float score[3][4]={{65,67,70,60},

{80,87,90,81},{90,99,100,98}}; average(*score,12);

/*求12个分数的平均分*/

search(score,2);

/*求序号为2的学生的成绩*/

void average(float *p,int n)

{ float *p_end;

float sum=0,aver;

p_end=p+n-1;

for(;p<=p_end;p++)

sum=sum+(*p);

aver=sum/n;

printf(″average=%5.2f\n″,aver);}

void search(float (*p)[4],int n)

/ * p是指向具有4个元素的一维数组的指针*/

{int i;

printf(″the score of No.%d are:\n″,n); for(i=0;i<4;i++)

printf(″%5.2f″,*(*(p+n)+i));

}程序运行结果如下:

average=82.25

The score of No.2 are:

90.0099.00100.0098.00例9.11:在上题基础上,查找有一门以上课程不及格的学生,打印出他们的全部课程的成绩。

#include

void main()

{void search(float (*p)[4],int n);float score[3][4]={{65,57,70,60},

{58,87,90,81},{90,99,100,98}};

search(score,3);

void search(float (*p)[4],int n)

{int i,j,flag;

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

{flag=0;

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

if(*(*(p+j)+i)<60)flag =1;

if(flag==1)

{ printf("No.%d fails,his scores are: \n",j+1);

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

printf(″%5.1f″,*(*(p+j)+i));

printf(″\n″);

}程序运行结果如下:

No.1 fails, his scores are:

65.057.070.060.0No.2 fails, his scores are:

58.087.090.081.0

例9.14:将字符串a复制为字符串b

#include

void main()

{char a[ ]=″Iam a boy.″,b[20];int i;

for(i=0;a[i]!=′\0′;i++)

b[i]=a[i];

b[i]=′\0′;

printf(″string a is:%s\n″,a);

printf(″string b is:%s\n″,b);

}运行情况如下:

string a is:I am a boy.

string b is:I am a boy.

例9.16:用函数调用实现字符串的复制。}#include

void main()

{ void copy_string(char *from,char *to); char *a=″Iam a teacher.″;

char *b=″you are a student.″;

printf("string a=%s\nstringb=%s\n″a,b);printf("copy string a to string b:\n ");

copy_string(a,b);

printf("\nstring a=%s\nstring b=%s\n",a,b);

}void copy_string(char *from,char *to){for(;*from!=′\0′;from++,to++)*to=*from;

*to=′\0′;

程序运行结果如下:

string a=I am a teacher.

string b=you are a student.

copy string a to string b:

string a=I am a teacher.

string b=I am a teacher.

例9.18:有若干个学生的成绩(每个学生有4门课程),要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数来实现。

#include

void main()

{float score[][4]={{60,70,80,90},

{56,89,67,88},{34,78,90,66}};

float *search(float (*pointer)[4],int n);float *p;

int i,m;

printf(″enter the number of student:″);scanf(″%d″,&m);

printf(″The scores of No.%d are:\n″,m);

p=search(score,m);

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

printf(″%5.2f\t″,*(p+i));

float *search(float (*pointer)[4],int n){float *pt;

pt=*(pointer+n);

return(pt);

例9.15:用指针变量来处理例9.14问题将字符串a复制为字符串b。

#include

void main()

{char a[]=″I am a boy.″,b[20],*p1,*p2;p1=a;p2=b;

for(;*p1!=′\0′;p1++,p2++)

*p2=*p1;

*p2=′\0′;

printf(″string ais:%s\n″,a);printf(″string bis:%s\n″,b);

例9.19:对上例中的学生,找出其中有不及格课程的学生及其学生号。

#include

void main()

{ float score[][4]={{60,70,80,90},

{56,89,67,88},{34,78,90,66}};

float *search(float (*pointer)[4]);

float *p;

int i,j;

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

{p=search(score+i);

if(p==*(score+i))

{printf(″No.%d scores:″,i);

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

printf(″%5.2f″,*(p+j));

printf(″\n″);}

float *search (float (*pointer)[4])

{ int i;

float *pt;

pt=*(pointer+1);

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

if(*(*pointer+i)<60) pt=*pointer;

return(pt);

}

运行情况如下:

No.1 scores:56.00 89.00 67.00 88.00 No.2 scores:34.00 78.00 90.00 66.00

作业:(提交上机报告)

输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:①输入10个数;②进行处理;③输出10个数。

结构体例10.2计算机94班有40人,输入学生姓名、数

学、物理成绩,显示学生的姓名和总成绩。#include

struct student

{ char name[20];

int mathscore;

int physicsscore;

int sumscore;

}com94[40];

main()

{ int i;

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

scanf(“%d,%s,%d”,&com94[i].mathsc ore,com94

[i].name,&com94[i].physicsscore);

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

{ com94[i].sumscore=com94[i].mathscor e+com94

[i].physicsscore;

printf(“name=%s,sumscore=%d\n”,co m94[i].na

me,com94[i].sumscore);

}

}

例10.3指向结构体变量的指针的应用

#include

#include

void main()

{ struct student

{ long num;char name[20];

char sex; float score;};

struct student stu_1;

struct student *p; p=&stu_1;

stu_1.num=89101;strcpy(stu_https://www.wendangku.net/doc/0510043254.html,,″LiLin″);

stu_1.sex=‘M’;stu_1.score=89.5;

printf(″No.:%ld\nname:%s\nsex:%c\nscore:%f\n″,stu_1.num,stu_https://www.wendangku.net/doc/0510043254.html,,stu_1.sex,stu_1.score);

printf(″No.:%ld\nname:%s\nsex:%c\nscore:%f\n″,(*p).num,(*p).name,(*p).sex,(*p).score);

}运行结果:

No.:89101

name:LiLin

sex:M

score:89.500000

No.:89101

name:LiLin

sex:M

score:89.500000 例10.4 指向结构体数组的指针的应用

#include

struct student

{ int num;char name[20];char sex;int age;}; struct student stu[3]={{10101,″Li Lin″,′M′,18},{10102,″Zhang Fun″,′M′,19},{10104,″WangMing″,′F′,20}};

void main()

{ struct student *p;

printf(″No. Name sex age\n″);

for(p=stu;p<stu+3;p++)

printf(″%5d %-20s %2c %4d\n″,p->num,p->name,p->sex,p->age);

}运行结果:

https://www.wendangku.net/doc/0510043254.html, sex age 10101 LiLin M18

10102Zhang Fun M19

10104 WangMing F20

注意:

(2)程序已定义了p是一个指向struct student 类型数据的指针变量,它用来指向一个struct student类型的数据,不应用来指向stu 数组元素中的某一成员。

例如: p=stu[1].name;是错误的

例10.6 将上题改用指向结构体变量的指针作参数。#include

struct student

{ int num;

char name[20];

float score[3];

}stu={12345, ″LiLi″,67.5,89,78.6};

void main()

{ void print(struct student *);

print(&stu);

}

void print(struct student *p)

{ printf(FORMA T,p->num,p->name,p->score[0],p->score[1],p->score[2]);

printf(″\n″);

}

例10.5 有一个结构体变量stu,内含学生学号、姓名和3门课程的成绩。要求在main 函数中赋予值,在另一函数print中将它们输出。今用结构体变量作函数参数。

#include

#include

#define

FORMAT ″%d\n%s\n%f\n%f\n%f\n″struct student

{ int num;

char name[20];

float score[3];

};

void main()

{ void print(struct student);

struct student stu;

stu.num=12345;

strcpy(https://www.wendangku.net/doc/0510043254.html,,″LiLin″);

stu.score[0]=67.5;

stu.score[1]=89;

stu.score[2]=78.6;

print(stu);

}

void print(struct student stu)

{ printf(FORMAT,stu.num,https://www.wendangku.net/doc/0510043254.html,,stu.score[0],stu.score[1],stu.score[2]);printf(″\n″);}

运行结果:

12345

Li Li

67.500000

89.000000

78.599998 例10.7某学校分为文、理班,所学的课程如下:

文科:语文、历史、地理

理科:数学、物理、化学

用共用体变量来表示文、理科学生的成绩,输入文、理科各三十名同学的成绩,显示各个学生的总成绩

union students

{ struct libsub

{ int chinese;

int history;

int geography;

}lib;

struct scisub

{ int math;

int physics;

int chemistry;

}sci;

}sslib[30],sssci[30];

main()

{ int i;

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

scanf(“%d,%d,%d”,&sssci[i].sci.math, &sssci[i].sci.physics,&sssci[i].sci.chemistry); for(i=0;i<30;i++)

printf(“sum=%d\n”,sssci[i].sci.math+sssci[i].

physics+sssci[i].sci.chemistry);

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

scanf(“%d,%d,%d”,&sslib[i].lib.chinese,&s slib

[i].lib.history,&sslib[i].lib.geography);

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

printf(“sum=%d\n”,sslib[i].lib.chinese+sslib

[i].lib.history+sslib[i].lib.geography); }

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 。

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 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)); 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 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__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

C语言期末复习卷习题

C语言期末复习卷习题 Prepared on 24 November 2020

期末总复习(基础知识+程序设计部分) 一.填空 1.已知charch=’A’;则下列表达式的值是:a Ch=(ch>=’A’&&ch<=’Z’)(ch+32):ch; 2.若x=1,y=2,z=3,则表达式z+=++x+y++之值是7 3.若x=2,y=3,则x%=y+3之值为2 4..若有定义inty=3;floatz=,x=;则表达式y+=(int)x+x+z的值为17 5.设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值 1)(x&&y)==(x||z)1 2)!(x>y)+(y!=z)||(x+y)&&(y-z)0 3)x++-y+(++z)13 6.设x,y,z为int型变量,请用C语言表达式描述下列命题 1)x和y中有一个小于z(xz||x>z&&y=0||z<0&&y<0&&x>=0||y<0&&x<0&&z>=0)==1 3)y是奇数y%2!=0 7.下面for循环语句最多可执行4次 For(x=0,y=0;(y!=99)&&(x<4);x++) 8.设i,j,k均为int型变量,则执行以下for语句后,k的值是10 for(i=0,j=10;i<=j;i++,j--) k=i+j; 9.若已知x,y,z,m,n均为int型变量,则执行下面语句后,x的值为7y的值为9z的值为7 m=10;n=5; x=(--m==n++)--m:++n;

y=m++; z=n; 10.若有说明语句:w=1,x=2,y=3,z=4;则表达式w>xw:z>yz:x值是4 11.若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void 12.凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储 13.在C语言中,一个函数直接或间接地调用自身,编构成函数的递归 14.如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成型,在调用函数的文件中将该函数说明为型。 15.对于所定义的二维数组a[2][3],元素a[1][2]是数组的第6个元素。N*j+m+1 16.若有定义:char*str=”Iamastudent.”;则字符串在存储单元中占16个字节。 17.在执行inta[][3]={{1,2},{3,4}};语句后,a[1][2]的值是0。 18.调用strlen(“abc\0ef\0g”)的返回值是3。\0为停止符 19.设有定义:chars[12]=“string”;则printf(“%d\n”,strlen(s));的输出值是6 20.执行下列程序段后,*p等于3 inta[5]={1,3,5,7,9};*p=a;p++; 二.判断(trueorfalse) 1.调用函数时,实参的类型、个数和顺序与函数定义时形参的类型、个数和顺 序完全一致。T 2.函数可以嵌套定义F 3.函数必须有返回值,否则不能正确作用F 4.C程序中有调用关系的所有函数必须放在同一源程序文件中。F 5.全局变量与函数体内定义的局部变量重名时,局部变量不起作用。F

C语言期末复习卷习题

期末总复习(基础知识+程序设计部分) 一.填空 1.已知char ch=’A’; 则下列表达式的值是: a Ch=(ch>=’A’ && ch<=’Z’)? (ch+32):ch; 2. 若x=1,y=2,z=3, 则表达式z+=++x+y++之值是7 3.若x=2,y=3,则x%=y+3之值为 2 4.. 若有定义int y=3; float z= 5.2, x=4.8; 则表达式y+=(int)x+x+z的值为17 5. 设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值 1)(x&&y)==(x||z) 1 2)!(x>y)+(y!=z)||(x+y)&&(y-z) 0 3)x++-y+(++z) 13 6. 设x,y,z为int型变量,请用C语言表达式描述下列命题 1)x和y中有一个小于z (xz||x>z&&y=0||z<0&&y<0&&x>=0||y<0&&x<0&&z>=0)==1 3)y是奇数y%2 !=0 7. 下面for循环语句最多可执行 4 次 For (x=0,y=0 ;(y !=99)&&(x<4) ;x++) 8. 设i,j,k均为int型变量,则执行以下for语句后,k的值是10 for (i=0,j=10 ;i<=j ;i++,j--) k=i+j ; 9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为7 y的值为9z的值为7 m=10 ; n=5; x=(--m==n++)? --m : ++n; y=m++; z=n; 10. 若有说明语句:w=1,x=2,y=3,z=4; 则表达式w>x? w:z>y? z:x值是 4 11. 若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void 12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储 13. 在C语言中,一个函数直接或间接地调用自身,编构成函数的递归 14. 如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成型,在调用函数的文件中将该函数说明为型。 15. 对于所定义的二维数组a[2][3],元素a[1][2]是数组的第 6 个元素。N*j+m+1 16.若有定义:char *str=”I am a student.”; 则字符串在存储单元中占16 个字节。 17. 在执行int a[][3]={{1,2},{3,4}};语句后,a[1][2]的值是0 。 18. 调用strlen(“abc\0ef\0g”)的返回值是 3 。\0为停止符 19. 设有定义:char s[12]=“string”; 则printf(“%d\n”,strlen(s));的输出值是 6 20. 执行下列程序段后,*p等于 3 int a[5]={1,3,5,7,9}; *p=a;p++;

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#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

C语言期末复习题

作业-1 1.单选题:下列字符串属于标识符的是。 A. INT B. 5_student C. !DF D. 2ong 2.单选题:C语言中能用来表示整常数的进制是。 A. 十进制、八进制、十六进制 B. 二进制、十进制 C. 六进制、八进制 D. 十二进制、十进制 3.单选题:在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的 ASCII码。 A. 小32 B. 大32 C. 大64 D. 小64 4.单选题:设d为字符变量,下列表达式不正确的是。 A. d="a" B. d=97 C. d='a' D. d='g' 5.单选题:10+?a?+1.5-567.345/?b?的结果是型数据。 A. int

B. long C. double D. unsigned 6.单选题:已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为。 main() {char x,y; x=?0?;y=?9?; printf(“%d,%d\n”,x,y); } A. 48,58 B. 48,57 C. 0,9 D. 因输出格式不合法,输出错误信息 7.单选题:已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为。 main() {char c=?A?;int i=10; c=c+10; i=c%i; printf(“%c,%d\n”,c,i); } A. 75,7 B. K,5 C. 因存在非图形字符,无法直接显示出来 D. 75,5 8.单选题:C语言中,运算对象必须是整型数的运算符是。 A. * B. / C. % D. % 和/ : 9.单选题:下列常数中,合法的C 常量是。 A. 7ff

大学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 。

大学C语言期末考试练习题(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数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 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 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 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

C语言函数题库及答案

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语言期末考试练习题1(含答案)

一、单项选择题(6小题,每小题3分,共18分) 1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 A、extern B、register C、auto D、static 2、下面4个选项中,是合法转义字符的选项是( )。 A、'\" B、'\' C、'\018' D、'\\0' '\\' '\017' '\f' '\101' '\n' '\''' 'xab' 'x1f' 3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。 A、–10 B、0abc C、0010 D、0a12 0x8f –017 –0x11 – –011 0xc 0xf1 –0xa 4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( ) A、# define POWER(x) □□x * x B、# define POWER(x) □□(x) * (x) C、# define POWER(x) □□(x * x) D、# define POWER(x) □□((x) * (x)) 5、以下程序段( ) x= –1; do { x=x*x;} while (!x); A、是死循环 B、循环执行二次 C、循环执行一次 D、有语法错误 6、下面程序的运行结果是( ) # include int main( ) { int i,j,x=0; for (i=0;i<2;i++) { x++; for(j=0;j<=3;j++) { if (j%2) continue; x++; } x++; } printf ("x= %d \n",x); return 0; } A、x=4 B、x=8 C、x=6 D、x=12 二、填空题(7小题,每小题3分,共22分) 1、下面程序段的运行结果是( )。 char ch[ ]=''600";int a,s=0;

历年C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 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)); 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 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__. #include<> void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include<> void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include<> void main() {int x=10,y=3; printf("%d\n",y=x/y); }

C语言期末考试复习题及答案

C语言期末考试复习题及答案 一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正 确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。 (1)C语言规定:在一个源程序中,main函数的位置 D 。 A)必须在最后B)必须在系统调用的库函数的后面。 C)必须在最开始。。D)可以任意 (2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。 A)必须为字母或下划线。。B)必须为下划线。 C)必须为字母D)可以是字母、数字和下划线中的任一种字符。 (3)下面四个选项中,均是正确的八进制数或十六进制数的选项是 B 。 A)-10 0x8f -011 B) 010 -0x11 0xf1 C) 0abc -017 0xc D) 0a12 -0x123 -0xa (4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。 A)0 ~ 65535 B)0 ~ 32767 C)-32767 ~ 32768 D)-32768 ~ 327687 (5) 若有定义:int a = 7; floa x = , y = ; 则表达式x + a % 3 * (int) (x + y) % 2/4 的值是 D 。 A) B) 0.00000 C) D) (6)已知ch是字符型变量,下面不正确的赋值语句是 B 。 A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ; (7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的

C语言试题及答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

C语言期末复习总结卷习题.doc

填空 期末总复习(基础知识+程序设计部分) 1. _______________________________________ 己知charch=,A:则下列表达式的值是:_____________________________________________ a Ch=(chx'A' && ch<=,Z,)? (ch+32):ch; 2.若x=l,y=2,z=3,则表达式z+二++x+y++之值是__________ 3.若x=2,y=3,则x%二y+3 Z值为 2 4..________________________________________________________________ 若有定义int y=3; float z= 5.2, x=4.8;则表达式y+=(int)x+x+z 的值为17 _____________________ 5.设x,y,z为int型变量,且x=3,y=?4,z=5,请写岀下列各表达式的值 1)(x&&y) ==(x||z) ___________ 1 __________ 2)! (x>y) +(y!二z)||(x+y)&&(y?z) 0 3)___________________ x++-y+什+z) _____ 13 6.设x,y,z为int型变量,请用C语言表达式描述下列命题 1) x 和y 中有——个小于z (xvz&&y>z||x>z&&yvz )=1 ___________________ 2)x,y 和z 中有两个为负数 (x<0&&y<0&&z>=0||z<0&&yv0&&x>=0||yv0&&x<0&&z>=0)==l __________________ 3)y是奇数y%2!二0 7.下面for循环语句最多可执行 4 次 For (x=0,y=0 ;(y !=99)&&(x<4) ;x++) 8.设i,j,k均为ini型变量,则执行以下for语句后,k的值是_ 10 for (i=0,j=10 ;i<=j ;i++,j??) k二i+j ; 9.若已知x, y,z,m,n均为int型变量,则执行下面语句后,x的值为7 v的值为________ z的值为______________ m=10 ; n=5; x=(—m==n++)? —m : ++n; y 二m++; z=n; 10.若有说明语句:w=l,x=2,y=3,z=4;则表达式w>x? w:z>y? z:x值是_____________ 4 _______ 11.若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符_________________ 12.凡在函数中未指定存储类型的变量,其隐含的存储类别为_________ 13.在C语言屮,一个函数直接或I、可接地调用自身,编构成函数的 __________ 14?如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成________________________________ 在调用函数的文件中将该函数说 明为________________________ 型。

2020最新C语言题库及答案

2020最新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

C语言期末复习卷习题教学内容

C语言期末复习卷习 题

期末总复习(基础知识+程序设计部分) 一.填空 1.已知char ch=’A’; 则下列表达式的值是: a Ch=(ch>=’A’ && ch<=’Z’)? (ch+32):ch; 2. 若x=1,y=2,z=3, 则表达式z+=++x+y++之值是 7 3.若x=2,y=3,则x%=y+3之值为 2 4.. 若有定义int y=3; float z= 5.2, x=4.8; 则表达式y+=(int)x+x+z的值为 17 5. 设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值 1)(x&&y)==(x||z) 1 2)!(x>y)+(y!=z)||(x+y)&&(y-z) 0 3)x++-y+(++z) 13 6. 设x,y,z为int型变量,请用C语言表达式描述下列命题 1)x和y中有一个小于z (xz||x>z&&y=0||z<0&&y<0&&x>=0||y<0&&x<0&&z>=0)==1 3)y是奇数y%2 !=0 7. 下面for循环语句最多可执行 4 次 For (x=0,y=0 ;(y !=99)&&(x<4) ;x++) 8. 设i,j,k均为int型变量,则执行以下for语句后,k的值是 10 for (i=0,j=10 ;i<=j ;i++,j--) k=i+j ; 9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为 7 y 的值为 9 z的值为 7 m=10 ; n=5; x=(--m==n++)? --m : ++n; y=m++;

2020年C语言题库及答案

2020年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语言期末复习卷习题集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

期末总复习(基础知识+程序设计部分) 一.填空 1.已知char ch=’A’; 则下列表达式的值是: a Ch=(ch>=’A’ && ch<=’Z’) (ch+32):ch; 2. 若x=1,y=2,z=3, 则表达式z+=++x+y++之值是 7 3.若x=2,y=3,则x%=y+3之值为 2 4.. 若有定义int y=3; float z=, x=; 则表达式y+=(int)x+x+z的值为 17 5. 设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值 1)(x&&y)==(x||z) 1 2)!(x>y)+(y!=z)||(x+y)&&(y-z) 0 3)x++-y+(++z) 13 6. 设x,y,z为int型变量,请用C语言表达式描述下列命题 1)x和y中有一个小于z (xz||x>z&&y=0||z<0&&y<0&&x>=0||y<0&&x<0&&z>=0)==1 3)y是奇数y%2!=0 7. 下面for循环语句最多可执行 4 次 For (x=0,y=0;(y!=99)&&(x<4);x++) 8. 设i,j,k均为int型变量,则执行以下for语句后,k的值是 10 for (i=0,j=10;i<=j;i++,j--) k=i+j; 9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为 7 y的值为9 z的值为 7 m=10 ; n=5; x=(--m==n++) --m : ++n;

C语言函数习题及答案

第6章函数习题 一、选择题 1. 一个完整的C源程序是【】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 5. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【】 A)float B)long C)int D)double 6. 以下关于函数叙述中,错误的是【】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式 D)形参可以是常量、变量或表达式 7. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是【】。 A)参数的形实(哑实)结合 B)函数返回值 C)全局变量 D)同名的局部变量 8. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【】。 A)实参与其对应的形参共占存储单元 B)只有当实参与其对应的形参同名时才共占存储单元 C)实参与对应的形参分别占用不同的存储单元 D)实参将数据传递给形参后,立即释放原先占用的存储单元 9. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【】。 A)实参将其地址传递给形参,并释放原先占用的存储单元 B)实参将其地址传递给形参,调用结束时形参再将其地址回传给实参 C)实参将其值传递给形参,调用结束时形参再将其值回传给实参

相关文档