C语言试卷第5套 含答案
- 格式:doc
- 大小:57.00 KB
- 文档页数:4
cC语言程序的基本单位是__________ A) 程序行 B) 语句 C) 函数 D) 字符C C语言程序的三种基本结构是__________ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构 C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构AC语言规定,程序中各函数之间A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用A C语言中可处理的文件类型是( )A) 文本文件和数据文件 B)文本文件和二进制文件 C) 数据文件和二进制文件 D)数据代码文件B C语言可执行程序的开始执行点是( ) A) 程序中第-条可执行语句 B) 程序中第-个函数 C) 程序中的main函数 D) 包含文件中的第-个函数C不是C语言提供的合法的数据类型关键字是 A)double B) short C) integer D) char C C语言中,运算对象必须是整型数的运算符是 A) % B) \ C) %和\ D) * *A C语言中函数返回值的类型是由( )决定。
A) return语句中的表达式类型 B) 调用函数的主调函数类型 C) 调用函数时临时 D) 定义函数时所指定的函数类型D C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为___________。
A .该数组的长度 B.该数组的元素个数 C. 该数组中各元素的值 D.该数组的首地址D C语言中数组下标的下限是___________ A、1 B、0 C、视具体情况 D、无固定下限B C语言中提供的合法关键字是__________ A、swith B、cher C、cese D、default D C语言中文件的存取方式是____________________。
A.顺序存取 B.随机存取 C.顺序存取、随机存取均可 D.顺序存取、随机存取均不可C C语言中最简单的数据类型包括A) 整型、实型、逻辑型 B) 整型、实型、字符型C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型B sizeof(float)是( )A.-种函数调用B.-个不合法的表示形式C.-个整型表达式D.-个浮点表达式C x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 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);B 表达式:10!=9的值是 A) true B) 非零值 C) 0 D) 1D 表示关系x<=y<=z的c语言表达式为A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z) C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)A 程序片段:在TC20中, int i=65536; printf("%d\n",i);的输出结果是__________ A) 65536 B) 0 C) 有语法错误,无输出结果 D) -1B 当调用函数时,实参是-个数组名,则向函数传送的是__________ A.数组的长度 B.数组的首地址 C.数组每-个元素的地址 D.数组每个元素中的值B对嵌套子程序调用说法正确的是__________。
2020年全国计算机二级等级考试全真模拟试卷及答案(第五套)1. 下列叙述中正确的是A) 栈与队列都只能顺序存储B) 循环队列是队列的顺序存储结构C) 循环链表是循环队列的链式存储结构D) 栈是顺序存储结构而队列是链式存储结构参考答案:B2.设某二叉树的前序序列为ABC,中序序列为CBA,则该二叉树的后序序列为A) BCAB) CBAC) ABCD) CAB参考答案:B3.下列排序方法中,最坏情况下时间复杂度最小的是A) 冒泡排序B) 快速排序C) 堆排序D) 直接插入排序参考答案:C4.为了对有序表进行对分查找,则要求有序表A) 只能顺序存储B) 只能链式存储C) 可以顺序存储也可以链式存储D) 任何存储方式参考答案:A5.软件设计中模块划分应遵循的准则是A) 低耦合低内聚B) 高耦合高内聚C) 低耦合高内聚D) 内聚与耦合无关参考答案:C6.下面属于整数类的实例是A) 0x518B) 0.518C) "-518"D) 518E-2参考答案:A7.下面属于白盒测试方法的是A) 边界值分析法B) 基本路径测试C) 等价类划分法D) 错误推测法参考答案:B8.设有一个商店的数据库,记录客户及其购物情况,由三个关系组成:商品 (商品号,商品名,单价,商品类别,供应商) ,客户 (客户号,姓名,地址,电邮,性别,身份证号) ,购买 (客户号,商品号,购买数量),则关系购买的键为A) 客户号B) 商品号C) 客户号, 商品号D) 客户号, 商品号, 购买数量参考答案:C9.有两个关系R,S如下,由关系R和S通过运算得到关系T,则所使用的操作为A) 并B) 自然连接C) 差D) 交参考答案:D10.在数据库管理系统提供的数据语言中,负责数据的查询、增加、删除和修改等操作的是A) 数据定义语言B) 数据管理语言C) 数据操纵语言D) 数据控制语言参考答案:C11.流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。
c语言程序设计第五版习题答案1. 基础语法练习1.1 写一个程序,要求用户输入两个整数,然后计算并输出这两个整数的和。
```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);int sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```1.2 写一个程序,要求用户输入一个字符,然后判断该字符是否为数字字符('0'-'9')。
```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf(" %c", &ch); // 注意空格if (ch >= '0' && ch <= '9') {printf("该字符是一个数字字符。
\n");} else {printf("该字符不是一个数字字符。
\n");}return 0;}```2. 控制流程练习2.1 写一个程序,找出1~100之间所有能被7整除的数,并输出它们的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 7 == 0) {printf("%d ", i);sum += i;}}printf("\n这些数的和为:%d\n", sum); return 0;}```2.2 写一个程序,打印如下图案:```***************``````c#include <stdio.h>int main() {for (int i = 1; i <= 5; i++) {for (int j = 1; j <= i; j++) {printf("*");}printf("\n");}return 0;}```3. 数组和字符串练习3.1 写一个程序,输出一个5x5的矩阵,矩阵元素由用户输入。
(完整版)C语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
第01套填空题:【1.1.1】x【1.1.2】n【1.1.3】fabs(t)改错题:【1.2.1】for(i=1;i<=y;i++)【1.2.2】t=t%1000;第02套填空题:【2.1.1】n%10【2.1.2】break【2.1.3】break改错题:【2.2.1】if(t==0)【2.2.2】*zero=count;第03套填空题:【3.1.1】0【3.1.2】10*x【3.1.3】n/10改错题:【3.2.1】*t=0;【3.2.2】if(d%2!=0)第04套填空题:【4.1.1】j【4.1.2】0【4.1.3】i++改错题:【4.2.1】for(i=2;i<=m;i++)【4.2.2】y-=1.0/i/i;第05套填空题:【5.1.1】[M]【5.1.2】N【5.1.3】0改错题:【5.2.1】t=1;【5.2.2】return(2*s);第06套填空题:【6.1.1】[N]【6.1.2】t[i][j]【6.1.3】t[j][i]改错题:【6.2.1】#define FU(m,n) ((m)/(n))【6.2.2】return (value);第07套填空题:【7.1.1】k【7.1.2】N【7.1.3】a[k][i]改错题:【7.2.1】for(i = strlen( t )-1; i;i--)【7.2.2】if(t[j] > t[j + 1 ] )第08套填空题:【8.1.1】999【8.1.2】t/10【8.1.3】x改错题:【8.2.1】void fun(long s,long *t)【8.2.2】while(s>0)第09套填空题:【9.1.1】sum=0【9.1.2】t[i][i]【9.1.3】1改错题:【9.2.1】double r;【9.2.2】while(fabs(m-n)>0.001)第10套填空题:【10.1.1】char【10.1.2】ch<='9'【10.1.3】'0'改错题:【10.2.1】b[k]=*p;【10.2.2】b[k]=' ';k++;第11套填空题:【11.1.1】0【11.1.2】i++【11.1.3】2.*i改错题:【11.2.1】void fun (char *s, char *t)【11.2.2】t[2*d] = 0;第12套填空题:【12.1.1】(fp)【12.1.2】==【12.1.3】fp改错题:【12.2.1】n=strlen( aa ) ;【12.2.2】ch=aa[i];第13套填空题:【13.1.1】N【13.1.2】substr【13.1.3】0改错题:【13.2.1】fun(int x,int y, int z)【13.2.2】return j;第14套填空题:【14.1.1】k【14.1.2】N-1【14.1.3】temp改错题:【14.2.1】void fun(int a[][M], int m)【14.2.2】a[j][k]=(k+1)*(j+1);第15套填空题:【15.1.1】a【15.1.2】a【15.1.3】b改错题:【15.2.1】c=tolower(c);【15.2.2】c=c+5;第16套填空题:【16.1.1】&&【16.1.2】'A'【16.1.3】ch改错题:【16.2.1】void fun(int *a)【16.2.2】a[j]=a[j-1];第17套填空题:【17.1.1】48【17.1.2】s++【17.1.3】sum改错题:【17.2.1】if ((k%13 == 0) || (k%17 == 0))【17.2.2】}第18套填空题:【18.1.1】1【18.1.2】-1改错题:【18.2.1】for(i=1;i<=3;i++)【18.2.2】if(k>=0&&k<=6)第19套填空题:【19.1.1】t,s【19.1.2】s[i]【19.1.3】0改错题:【19.2.1】if(i%k==0)【19.2.2】if(k>=i)第20套填空题:【20.1.1】struct student *【20.1.2】a->score[i]【20.1.3】a改错题:【20.2.1】char *fun( char (*sq)[M] )【20.2.2】return sp;第21套填空题:【21.1.1】a[i]【21.1.2】a[j]【21.1.3】a[j]改错题:【21.2.1】switch(g)【21.2.2】case 1: return 1; case 2:return 1; 第22套填空题:【22.1.1】t[][N]【22.1.2】i=0;i<n【22.1.3】s改错题:【22.2.1】fun(int a[],int m)【22.2.2】else if(m>a[mid])第23套填空题:【23.1.1】*a【23.1.2】2【23.1.3】i+1改错题:【23.2.1】sum=0;【23.2.2】if((i+1)%5==0)第24套填空题:【24.1.1】x【24.1.2】n【24.1.3】t改错题:【24.2.1】d=1;s=0;【24.2.2】d=d/10;第25套填空题:【25.1.1】1【25.1.2】1【25.1.3】i改错题:【25.2.1】k=i;【25.2.2】c=k;第26套填空题:【26.1.1】->sno【26.1.2】->name【26.1.3】&t改错题:【26.2.1】double fun(double a,double x0)【26.2.2】if(fabs(x1-x0)>0.00001)第27套填空题:【27.1.1】1【27.1.3】(-1)改错题:【27.2.1】k++;【27.2.2】if(m==k)第28套填空题:【28.1.1】0【28.1.2】n【28.1.3】(t*t)改错题:【28.2.1】for(i=0;str[i];i++)【28.2.2】if(substr[k+1]==0) 第29套填空题:【29.1.1】*s【29.1.2】1【29.1.3】k[n]改错题:【29.2.1】float fun(int k)【29.2.2】return s;第30套填空题:【30.1.1】struct student【30.1.2】n-1【30.1.3】a[i].name,a[j].name 改错题:【30.2.1】q=p+i;【30.2.2】while(q>p)第31套填空题:【31.1.1】a[i]%2【31.1.2】a[j]【31.1.3】j改错题:【31.2.1】fun (int n)【31.2.2】if(n==1)第32套填空题:【32.1.1】10【32.1.2】0【32.1.3】x改错题:【32.2.1】if (n==0)【32.2.2】result *= n-- ;第33套填空题:【33.1.1】N【33.1.2】k【33.1.3】ss[i]改错题:【33.2.1】int k=0;【33.2.2】while( *p || *q )第34套填空题:【34.1.1】n++【34.1.2】0【34.1.3】s++改错题:【34.2.1】t+=s[k];【34.2.2】*aver=ave;第35套填空题:【35.1.1】s[i]【35.1.2】k【35.1.3】0改错题:【35.2.1】while(*w)【35.2.2】if(*r==*p)第36套填空题:【36.1.1】N【36.1.2】i【36.1.3】-1改错题:【36.2.1】a2=k/10;【36.2.2】return i;第37套填空题:【37.1.1】s【37.1.2】--【37.1.3】return 0改错题:【37.2.1】double fun (int n)【37.2.2】c=a;a+=b;b=c;第38套填空题:【38.1.1】3.【38.1.2】>【38.1.3】(2*i+1)改错题:【38.2.1】double fun(int n)【38.2.2】s=s+(double)a/b;第39套填空题:【39.1.1】n/2【39.1.2】i【39.1.3】a[n-i-1]改错题:【39.2.1】n= *p-'0';【39.2.2】n=n*8+*p-'0';第40套填空题:【40.1.1】a【40.1.2】【40.1.3】score[i]改错题:【40.2.1】s[j++]=s[i];【40.2.2】s[j]=0;第41套填空题:【41.1.1】j=2【41.1.2】i【41.1.3】j改错题:【41.2.1】sum=0;j=0;【41.2.2】if(sum%4==2)第42套填空题:【42.1.1】1【42.1.2】s【42.1.3】i*10改错题:【42.2.1】int fun(int n,int xx[][M])【42.2.2】printf("%d",xx[i][j]); 第43套填空题:【43.1.1】struct student【43.1.2】【43.1.3】a.score[i]改错题:【43.2.1】if(p==n) return -1;【43.2.2】a[i]=a[i+1];第44套填空题:【44.1.1】1【44.1.2】i【44.1.3】a[p+i]改错题:【44.2.1】float k;【44.2.2】if(*c>*a)第45套填空题:【45.1.1】1【45.1.2】j++【45.1.3】j改错题:【45.2.1】t=a;a=b;b=t;【45.2.2】return(b);第46套填空题:【46.1.1】0【46.1.2】x【46.1.3】t++改错题:【46.2.1】int i,sl;【46.2.2】t[i]=s[sl-i-1];第47套填空题:【47.1.1】*s【47.1.2】s++【47.1.3】n改错题:【47.2.1】int j, c=0; double xa=0.;【47.2.2】if (x[j]>=xa)第48套填空题:【48.1.1】i【48.1.2】t++【48.1.3】count改错题:【48.2.1】int fun(int a,int b,int c)【48.2.2】else return 1;第49套填空题:【49.1.1】i【49.1.2】ps[j]【49.1.3】tp改错题:【49.2.1】double fun(int n)【49.2.2】return sum;第50套填空题:【50.1.1】a[i]【50.1.2】a[i]【50.1.3】0改错题:【50.2.1】y=1;【50.2.2】d=a-i;1、double fun(double x){int i=0;double s=1,a=1;while(fabs(a)>0.000001){a=a*(0.5-i)*x/(i+1);s+=a;i++;}return s;}2、double fun(int n){int i;double s=0,a=1;for(i=1;i<=n;i++){a=a/i;s+=a;}return s;}3、void fun(char p1[], char p2[]){while(*p1) p1++;while(*p2){*p1=*p2;p1++;p2++;}*p1=0;}4、int fun(int score[], int m, int below[]) {int i=0,s=0,n=0;for(i=0;i<m;i++) s+=score[i];s/=m;for(i=0;i<m;i++){if(score[i]<s){below[n]=score[i];n++;}}return n;}void fun( char *a, int n ){/* 以下代码仅供参考*/int i=0,j,k=0;while(a[k]=='*') k++; /* k为统计*字符个数*/if(k>n){i=n;j=k;/* 以下完成将下标为k至串尾的字符前移k-n个位置*/while(a[j]){a[i]=a[j];i++;j++;}a[i]=0;}}6、void fun( char *a ){int i=0,j=0;while(a[i]=='*') i++;while(a[i]){a[j]=a[i];i++;j++;}a[j]=0;}7、void fun( char *ss ){int i=1;while(ss[i-1]&&ss[i]){if(ss[i]>='a'&&ss[i]<='z') ss[i]+='A'-'a';i+=2;}8、void fun( STREC a[] ){STREC tmp;int i,j;for(i = 0; i < N; i++)for(j = i+1; j < N; j++){ /* 请按题目要求完成以下代码*/if(a[i].s<a[j].s){tmp=a[i];a[i]=a[j];a[j]=tmp;}}}9、void fun( char *a, char *h,char *p ){a=h;while(h!=p){if(*h!='*'){*a=*h;a++;}h++;}while(*p){*a=*p;a++;p++;}*a=0;}10、double fun( STREC *h ){int i=0;double s=0;while(h->next){h=h->next;s+=h->s;i++;}s/=i;return s;}11、void fun(char *s, char t[]){int i=0,j=0;while(s[i]){if(i%2==1&&s[i]%2==1){t[j]=s[i];j++;}i++;}t[j]=0;}12、double fun( STREC *h ){double s=0;while(h->next){h=h->next;if(s<h->s) s=h->s;}return s;}13、void fun( char *a, int n,int h,int e ){int i;for(i=0;i<n-h-e;i++) a[i]=a[i+h];a[i]=0;}14、void fun(int a, int b, long *c){*c=a/10*10+a%10*1000+b/10+b%10*100; }15、double fun(int n){int i;double s=0,a=0;for(i=1;i<=n;i++){a+=sqrt(i);s+=a;}return s;}16、int fun(int n){int i,s=0;for(i=2;i<n;i++){if(n%i==0) s+=i;}return s;}17、double fun( int n){int i,s=0;for(i=21;i<n;i++){if(i%3==0&&i%7==0) s+=i;}return sqrt(s);}18、double fun(int n){int i;double s=1,a=1;for(i=1;i<=n;i++){a=a/i;s+=a;}return s;}19、void fun ( int x, int pp[], int *n ){int i;for(i=1,*n=0;i<=x;i+=2){if(x%i==0){pp[*n]=i;(*n)++;}}}20、void fun(int a, int b, long *c){*c=a/10*100+a%10+b/10*10+b%10*1000; }21、void fun(STREC *a){int i;double s=0;for(i=0;i<N;i++) s+=a->s[i];a->ave=s/N;}22、void fun( char *a, char *p ){char *b=a;while(b<p){if(*b!='*'){*a=*b;a++;}b++;}while(*p){*a=*p;a++;p++;}*a=0;}23、double fun( STREC *a, STREC *b, int *n ) {int i;double s=0;for(i=0;i<N;i++) s+=a[i].s;s/=N;for(i=0,*n=0;i<N;i++){if(a[i].s<s){b[*n]=a[i];(*n)++;}}return s;}24、double fun(double x[9])int i;double s=0;for(i=0;i<8;i++) s+=sqrt((x[i]+x[i+1])/2); return s;}25、double fun(double x[10]){int i;double s=0,x1=0;for(i=0;i<10;i++) x1+=x[i];x1/=10;for(i=0;i<10;i++) s+=(x[i]-x1)*(x[i]-x1);s=sqrt(s/10);return s;}26、double fun( STREC *a, STREC *b, int *n ) {int i;double s=0;for(i=0;i<N;i++) s+=a[i].s;s/=N;for(i=0,*n=0;i<N;i++){if(a[i].s>=s){b[*n]=a[i];(*n)++;}}return s;}27、void fun(int a[], int n , int *max, int *d ) {int i;for(i=1,*max=a[0],*d=0;i<n;i++){if(*max<a[i])*max=a[i];*d=i;}}}28、double fun ( double eps){int i=1;double s=1,a=1;while(a>eps){a=a*i/(2*i+1);s+=a;i++;}return s*2;}29、double fun( int n ){int i;double s=0;for(i=1;i<=n;i++){s+=1.0/(i*(i+1));}return s;}30、int fun( STREC *a,STREC *b,int l, int h ) {int i,j;for(i=0,j=0;i<N;i++){if(a[i].s>=l&&a[i].s<=h){b[j]=a[i];j++;}return j;}31、void fun( char *a,int n ){int i=0,j=0;while(a[i]){if(a[i]=='*') j++;else j=0;i++;}if(j>n){a[i-j+n]='\0';}}32、long fun ( char *p){/* 以下代码仅供参考*/int i,len; /* len为串长*/long x=0;len=strlen(p);/* 以下完成数字字符串转换为一个数字。
c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
c语言程序设计第五版习题答案习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】语言简洁、紧凑,使用方便、灵活。
数据类型丰富,表达能力强。
运算符多样。
C语言中的运算符包含的范围非常广泛。
具有结构化的控制语句。
如ifelse语句、while语句、do while语句、switch语句、for语句。
允许直接访问物理地址。
C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。
所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么它哪几部分组成【解答】函数是构成C语言程序的基本单位。
一个完整的C程序一般文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】xx;编译;连接,生成EXE文件;执行。
二.运行程序写结果1.输入下面程序并运行。
main {int a1,a2,x; a1=100; a2=50; x=a1-a2;printf; }【解答】运行结果为:x=50 2.输入下面程序并运行。
main {int a1,a2,x; a1=10; a2=20; x=a1*a2;printf; printf;}【解答】运行结果为:a1=10,a2=20 x=2001三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息: *************************I love C programs! ************************* 【分析与提示】①要有文件包含语句#include 。
C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。
这些函数的说明都包括在文件中。
②main是主函数的名称。
用{}括起来的内容是函数体,函数体若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。
③注意显示的信息有三行,所以要用到换行符“\\n”。
~计算机二级c 语言上机题库及答案内部资料,切勿外传!.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h>long fun(int n){if ( 1 )return (n*fun( 2 ));return 3 ;}main(){printf("10!=%ld\n", fun(10));}第1 处填空:n>1 或1<n第2 处填空:n-1第3 处填空:1 或11 或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1 处:Isprime(int n);应改为Isprime(int n)第2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在score 数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。
2021年全国计算机二级等级考试全真模拟试卷及答案(第五套)1. 下列叙述中正确的是A) 栈与队列都只能顺序存储B) 循环队列是队列的顺序存储结构C) 循环链表是循环队列的链式存储结构D) 栈是顺序存储结构而队列是链式存储结构参考答案:B2.设某二叉树的前序序列为ABC,中序序列为CBA,则该二叉树的后序序列为A) BCAB) CBAC) ABCD) CAB参考答案:B3.下列排序方法中,最坏情况下时间复杂度最小的是A) 冒泡排序B) 快速排序C) 堆排序D) 直接插入排序参考答案:C4.为了对有序表进行对分查找,则要求有序表A) 只能顺序存储B) 只能链式存储C) 可以顺序存储也可以链式存储D) 任何存储方式参考答案:A5.软件设计中模块划分应遵循的准则是A) 低耦合低内聚B) 高耦合高内聚C) 低耦合高内聚D) 内聚与耦合无关参考答案:C6.下面属于整数类的实例是A) 0x518B) 0.518C) "-518"D) 518E-2参考答案:A7.下面属于白盒测试方法的是A) 边界值分析法B) 基本路径测试C) 等价类划分法D) 错误推测法参考答案:B8.设有一个商店的数据库,记录客户及其购物情况,由三个关系组成:商品 (商品号,商品名,单价,商品类别,供应商) ,客户 (客户号,姓名,地址,电邮,性别,身份证号) ,购买 (客户号,商品号,购买数量),则关系购买的键为A) 客户号B) 商品号C) 客户号, 商品号D) 客户号, 商品号, 购买数量参考答案:C9.有两个关系R,S如下,由关系R和S通过运算得到关系T,则所使用的操作为A) 并B) 自然连接C) 差D) 交参考答案:D10.在数据库管理系统提供的数据语言中,负责数据的查询、增加、删除和修改等操作的是A) 数据定义语言B) 数据管理语言C) 数据操纵语言D) 数据控制语言参考答案:C11.流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。
课后练习题答案 Chapter 1 1.1 ×√×√√×√××√ 1.2 b c 1.3 ad 1.4 semicolon printf math.h \n
Chapter 2 2.1 ×√××√√×√××√× 2.2 typedef 255 external const
Chapter 3 3.1 ×√××√√×××√√√ 3.2 integer modula 6 logical sizeof paratheses typeconversion precedence 3.3 F F T F F F 3.4 F T T T F 3.5 (b) (c) 3.6 0 -2 7 10.25 false 3 3 1 3.10 0 1 1 1 1 3.11 d } 100 3.12 110 111 3.13 1 3.14 200 3.15 x<=y 3.16 TRUE 3.19 2 1 4 3.20 -40 40
Chapter 4 4.1 ×√√√√√××√√√× 4.2 %hd %x ctype.h %l %*d [^] blank 6 - %e 4.4 (a) scanf(“%d %c %d”, &a, &b, &c); (b)scanf(“%d %f %s”, &a, &b, &c); (c) scanf(“%d-%d-%d”, &a, &b, &c); (d) scanf(“%d %s %d”, &a, &b, &c); 4.5 (a)10x1.230000 (b)1234x 1.23 (c)1234 456.000000 (d) “123.40 ” (e) 1020 1222(乱码) 4.7 (a)1988 x (b)乱码 (c)120 乱码 (d)乱码 x 4.8 (a)1275 -235.740000 (b) 1275 -235.740000 (c) 0 0.000000 (d) 1275xxxx-235.74 (e)Cambridge (f)1275 Cambridge 4.10 1988 无 无
第五套一、判断题第1题:在C语言中英文小写字母b的ASCII码为74H 错第2题:60、在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。
错第3题:在标准C中,以“%8f”形式输出的所有数字共有8位。
错第4题:在标准C中,“=”是判断两个数是否相等。
:错第5题:对于指向函数的指针变量,它所指向的函数的参数个数一定要相同。
错第6题:构成C程序的基本单位是函数,所有函数名都可以由用户命名错第7题:“A”是一个字符常量。
错第8题:结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。
对第9题:在if语句中,else前一个语句可不加“;”。
错第10题:C程序中注释部分可以出现在程序中任意合适的地方。
对二、选择题(请选择正确的选项)第1题:执行语句:for(i=1;i++<4;); 后变量i的值是 CA、3B、4C、5D、不定第2题:C语言结构体类型变量在程序执行期间 AA、所有成员一直驻留在内存中B、只有一个成员驻留在内存在C、部分成员驻留在内存中D、没有成员驻留在内存中第3题:若执行fopen函数时发生错误,则函数的返回值是: BA、地址值B、0C、1D、eof第4题:C语言结构体类型变量在程序执行期间 AA、所有成员一直驻留在内存中B、只有一个成员驻留在内存在C、部分成员驻留在内存中D、没有成员驻留在内存中第5题:下面程序段输出结果为 Achar str[ ]="Beijing";printf("%d\n", strlen(strcpy(str,"China")));A、5B、7C、12D、14第6题:设有程序段int k=10; while(k=0) k=k-1;则下面描述中正确的是:CA、while循环执行10次B、循环是无限循环C、循环体语句一次也不执行D、循环体语句执行一次第7题:以下错误的描述是:函数调用可以 DA、出现在执行语句中B、出现在一个表达式中C、做为一个函数的实参D、做为一个函数的形参第8题:设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是(2-12)BA、k=*p1+*p2;B、p2=k;C、p1=p2;D、k=*p1 *(*p2); 第9题:能正确表示a≥10或a≤0的关系表达式是 CA、a>=10 or a<=0B、a>=10│a<=0C、a>=10 || a<=0D、a>=10 &&a<=0第10题:C 语言程序的三种基本结构是顺序结构、选择结构和______结构 CA、递归B、转移C、循环D、嵌套三、填空题(请把正确的选项填入试题前的空格中)第1题:下列程序读入了一个时间数值,将其加1秒后输出,时间格式为hh:mm:ss,即时:分:秒。
当小时等于24小时,置为0。
#include<stdio.h>struct { int hour;int minute;int second; }time;void main() {scanf("%d:%d:%d",__,___,___);time.second++;if(____==60) {time.minute++;;if(time.minute==60) {time.hour++;time.minute=0;time.hour=24;if(___) time.hour=0;} }printf("%d:%d:%d\n",time.hour,time.minute,ti me.second); }参考答案:&time.hour参考答案:&time.minute参考答案:&time.second参考答案:time.second参考答案:time.second=0第2题:输入一行字符,统计并输出其中英文字母、数字和其他字符的个数。
运行示例:Enter characters:f(x,y)=3x+5y-10letter=5, digit=4, other=6#include <stdio.h>void main( ){int digit, I, letter, other;char ch;digit = letter = other = 0;printf("Enter characters: ");while((____) != '\n')if(____||ch>='A'&&ch<='Z')letter++;else if (____) digit ++;else___;printf("letter=%d, digit=%d, other=%d\n", letter, digit, other);}参考答案:ch=getchar()参考答案:ch>='a'&&ch<='z'参考答案:ch >= '0' && ch <= '9'参考答案:other++第3题:2、下列程序利用函数求两个数的最大值,请在处补上必要的代码:<bfloat max(float,float);main(){float a,b,c;scanf("%f,%f",&a,&b);c = max (a,b);printf("max = %f\n",c);}float max(float x, float y){float z;_____;return(z) ;}参考答案:z = x>y ? X : y四、阅读题(请把正确的选项填入试题前的空格中)第1题:阅读程序,写出运行结果。
参考答案:A#include <stdio.h>void main( ){ float x ;int I , j ;x=10.6 ;I=4 ;j=(int)x/I ;printf("j=%d\n",j);}<brA)、j=2 B)、j=2.65 C)、j=2.5 D)、j=2.7第2题:阅读程序,写出运行结果。
参考答案:B#include <stdio.h>void main( ){intnum[10]={50,-20,-53,10,5,-29,14,-32,0,21};int j , sum=0 ;for(j=0 ; j<10 ; j++)if(num[j]>0)sum+=num[j] ;printf("sum=%d\n", sum) ;}A)、sum= -134 B)、sum=100C)、sum= 0 D)、sum= 50第3题:阅读程序,写出运行结果。
参考答案:A#include <stdio.h>void main( ){ char str[ ]= "SWILTECH1W ALL";int k ; char c ;for(k=0; (c=str[k]) != '\0';k++){switch(c){ case 'A' : putchar('a'); continue;case '1' : break;case 9 : putchar('#');case 'E' :case 'L' : continue;default :putchar(c); continue;}putchar('*');}printf( "\n ");}}A)、SWITCH*Wa B)、SWITCHC)、SWILTECHW ALL D)、SWITCH* WALL第4题:阅读程序,写出程序运行的输出结果。
参考答案:B#include <stdio.h>void main( ){ int I, j ;floata[3][3]={{21,29,13},{12,33,27},{32,8,73}}, b[3][3];for(I=0; I<3; I++)for(j=0; j<3; j++)b[j][I]=a[I][j];for(I=0; I<3; I++){ for(j=0; j<3; j++)printf("%6.1f",b[I][j]);printf( "\n");}}A)、21 123229 33813 2773B)、21.0 12.032.029.0 33.0 8.013.0 27.073.0C)、21.0 29.013.012.0 33.0 27.032.0 8.073.0D)、21 291312 332732 873第5题:阅读程序,写出运行结果。
参考答案:C#include <stdio.h>int f (int a){ auto int b=0 ;static int c=1 ;b++ ;c+=3 ;return(a+b+c) ;}void main( ){ int a=5 , I ;for(I=0 ; I<3 ; I++)printf("%4d", f(a)) ;}A)、10 10 10 B)、10 11 12 C)、10 13 16 D)、10 12 14五、设计题(请按照题目要求进行答题,完成之后打包上传)第1题:求出1000至2000之内能同时被5、11整除但不能被9整除的数,以十六进制格式输出。
参考答案:#include <stdio.h >void main(){int j;for(j=1000 ;j<=2000;j++){if(j%5==0 && j%11==0&& j%9!=0){printf("%x ",j);}}printf("\n");}第2题:输入一N位整数,要求输出该整数的每一个数字,如输入14289,则输出1 4 2 8 9。
每一个数字间空一空格参考答案:#include<stdio.h>main(){int num[6],j,number;printf("输入一个整数:");scanf("%d",&number);j=0;do{num[j]=number%10;number=(int)number/10;j++;}while(number!=0);for(j=5;j>=0;j--)printf("%d ",num[j]);printf("\n");}第3题:从键盘输入一个正整数,求出它的二进制数。