上海应用技术学院 C语言 试题模拟二

合集下载

2019年上海市高等学校计算机等级考试试卷二级C语言程序设计10页word

2019年上海市高等学校计算机等级考试试卷二级C语言程序设计10页word

2019年上海市高等学校计算机等级考试试卷二级 C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 15 道小题,每小题 1 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。

1. 以下C程序中预处理命令写法正确的是:答案: DA. #include (stdio.h)B. #include [stdio.h]C. #include {stdio.h}D. #include <stdio.h>2. 设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的。

答案: AA. a='&';B. a="&";C. a=' ' ';D. a='16' ;3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案: DA. printf("%c",ch);B. printf("%c",&ch);C. scanf("%c",ch);D. scanf("%c",&ch);4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。

答案: CA. 2B. 1C. 1.5D. 05. 能正确表示逻辑关系"a>=10 或 a<=0"的C语言表达式是( )。

答案: CA. a>=10 or a<=0B. a<=0|a>=10C. a<=0||a>=10D. a>=10 && a<=06. 设有int n=60;写出下列语句的运行结果switch (n/10)case 6: printf("@");break;case 5: printf("#");default: printf("$");答案: DA. @#$B. #$C. $D. @7. 设有int i; 以下语句中,循环次数为100次的语句是:答案: DA. for ( i=0; i<=100; i++ )B. for ( i=0; i<99; i++ )C. for ( i=1; i<99; i++ )D. for ( i=0; i<100; i++ )8. C程序中,用于提前结束本次循环、进行下一次循环的语句是( )。

国家二级C语言机试(操作题)模拟试卷300(题后含答案及解析)

国家二级C语言机试(操作题)模拟试卷300(题后含答案及解析)

国家二级C语言机试(操作题)模拟试卷300(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。

所有学生数据均以二进制方式输出到文件中。

函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!试题程序:1 #include<Stdio.H>2 #define N 53 typedef struct student {4 long sno;5 char name[10];6 float score[3];7 }STU;8 void fun(char*filename,STU n)9 {FILE*fp;10 /*********found*********/11 fp=fopen(【1】,”rb+”);12 /*********found*********/13 fseek(【2】,-(long)sizeof(STU),SEEK END);14 /*********found*********/15 fwrite(&n,sizeof(STU),1,【3】);16 fclose(fP);17 }18 main( )19 {STU t[N]={{10001,”MaChao”,91,92,77},{10002,”CaoKai”,75,60,88},{10003,”LiSi”,85,70,78),{10004,”FangFang”,90,82,87},{10005,”ZhangSan”,95,80,88)};20 STU n={10006,”ZhaoSi”,55,70,68},SS[N];21 int i,j;FILE*fP;22 fp=fopen(“student.dat”,”wb”);23 fwrite(t,sizeof(STU),N,fp);24 fclose(fp);25 fp=fopen(“student.da”,”rb”);26 freacl(ss,sizeof(STU),N,fp);27 fclose(fp);28 print;f(“\nThe original data:\n\n”);29 for(j=0;j<N;j++)30 {printf(“\nNo:%ld Name:%一8s Scores:”,ss[j].sno,ss[j].name);31 for(i=0;i<3;i++)32 printf(“%6.2f”,ss[j].score[i]);33 printf(“\n”);34 }35 fun(“student.dat”,n);36 printf(“\nThe data after modif-ing:\n\n”);37 fp=fopen(“student.dat”,”rb”);38 fread(ss,Sizeof(STU),N,fp);39 fclose(fp);40 for(j=0;j<N;j++)41 {printf(“\nNo:%ld Name:%-8s Scores:”,ss[j].sno,ss[j].name);42 for(i=0;i<3;i++)43 printf(“%6.2f”,ss[j].score[i]);44 printf(“\n”);45 }46 }正确答案:(1)filename(2)fp(3)fp解析:填空1:本空是对文本文件的打开,filename所指的文件中的最后数据要进行重写,因此首先是要打开,因而本空填写filename。

上海市计算机二级考试(C语言)复习资料题目答案

上海市计算机二级考试(C语言)复习资料题目答案

上海理工大学上海市计算机二级考试(C语言)复习资料题目解答第一部份:基础知识1. B2. C3. C4. B5. D6. A7. A8. C9. C 10. A 11. C 12. A 13. B 14. B 15. C 16. B 17. D 18.B 19. A 20. C 21. C 22. B 23. B 24. C 25. D 26. B 27. B 28. D 29. C 30. C 31. D 32. C 33. C 34. B 35. C 36. D 37. C 38. B 39. C 40. B 41. C 42. B 43. C 44. B 45. B 46. A 47. D 48. D 49. D 50. D 51. A 52. C53. (Sqrt( x)+ sqrt( y))/2/( x+ y) or similar54. The "234" is namely the string234 55. B 56.D 57.D 58. B 59.C 60.D61.B 62. D 63.A 64.D 65.C 66.B 67.C 68. D 69. C 70.C 71.A 72.A 73.B 74.B 75.C 76. C 77.C 78.A 79.D 80.B 81.D 82.D 83.C 84.D 85.B 86.D 87.B 88.D 89.B 90.C 91.C 92.B 93.B 94.B 95. N+'0'96.0The x1400 moves is ex-, binary system 00010100 Bs or eight enter the 024 Qs of system97. The first answer 65 ds or 41 hses or a the second answer 1 or not098. 85 99. 14 100. x=-60第二部分读程序,写结果1. 0,2,4,32. 3.1423.84.m/10%10*100+m/100*10+m%105.?uoy_era_woHHwaeyu6.7,37.546568. A the = biggest number, b= is most the fraction9. 110.5,511.1012.1 3 5 7 913. j=0 m=4The first k : 4j=1 m=414.The second k : 515.Count=0, position=0( did not find out)16.0-3017.输出12 14 22 24 32 34,函数s是用插入法对数组a的前n个元素从小到大排序18.输出 2 3 5 7 11 13 函数p的功能是求k(包括k )以内的质数19.输出n=91, a[]=0, 10, 21, 3120.输出Feith21.输出72 56 38 4922.k=523. 124.925.用递归函数实现10->2进制转换第三部分程序改错1.#4 scanf(“%d”,&x);#10 low=m+1#11 high=m-12.#7 scanf(“%c”,&str[i]);#8 break3. #7 x , n#13 n==0#15 x*xn(x,n-1)4. #5 t=t*x/i#15 e=ex(x)5. #4 scanf(%d”,&x);#10 low=m+1#11 high=m-16. #3 fun(str[])#5 while (*(str+num)!=’\0’) num++;#9 char str[10],*p=str;7. #14 flag=0 ;#19 flag=1; i++;8. #3 func(str[])#5 while (*(str+num)!=’\0’) num++;#9 {char str[10],*p=str;9. #5 n=n/10;#6 while (!n);#12 scanf(“%ld”,&n);10. #10 else if (x>a[m]) low=m+1;#11 else high=m-1;11. #6 a=1.0;#8 a/=i;#9 e+=a;12. #6 char *temp;#10 if(strcmp(temp,name[i])>0)#12 printf(“%s \n”, temp );13. #3 str[i]!=’\0’#4 str[i]>= ’0’ && str[i]<=’9’#10 data = data*16 + n;14. #3 int n1=0,n2=0, i;#6 if (str[i]==’#’)#8 if (str[i]>=’0’&&str[i]<=’9’)#9 n2++; }15. #5 i<N#7 sum=max=min=a[0]#12 aver=(float)(sum-max-min)/(N-2)16. #7 scanf(“%c”,&str[i]);#8 break17. #7 x , n#13 n==0#15 x*xn(x,n-1)18. #4 double fun(double eps)#8 while (t>=eps)#13 return (2*s);19. #3 long fun(char *p)#17 num+=p[i]-48;或 num+=p[i]-‘0’;#29 printf(“%ld\n”,n); /* 必须有%ld */20. #9 a[j]<a[i]#15 b[k]>a[j]&&a[j]#18 a[j]=b[k]21. #2 void printcol(int (*p)[N], int row, int col)#6 printf(“\t\t%d\n”,*(*(p+i)+col));#14 } while (col<0||col>N-1);22. #2 …(char *s)#4 (*p) 或…(*p!=0) 或…(*p!='\0’)#9 gets(x);23. #6 t=n%10;#10 n/=10;#11 } while(n); 或 } while (n!=0);24. #4 { for (j=0;j<=20-i;j++)#5 printf(" ");#8 printf("\n");25. #2 char *fun(char *s,char *t)#4 a=0;(或a=NULL;)#8 if (*r ==*p) {r++; p++;}第四部分编程序1. 设有链表结点的结构及变量如下:)struct st{ int num ;struct st *next;};struct st *head, *p1 ,* p2;编写函数create(),是个无参数函数,创建链表,num=0结束,返回指针值,指向首结点head。

上海市c语言二级计算机试题及答案

上海市c语言二级计算机试题及答案

上海市c语言二级计算机试题及答案高级JAVA软件开发师试题一、选择题(共20题,每题2分,共40分)1. 下面关于Java的说法正确的是:A. Java是一种面向过程的编程语言B. Java是一种编译型语言C. Java可以在任何操作系统上运行D. Java是由Windows操作系统提供的2. 在Java中,下面关于变量的说法正确的是:A. 变量在声明时必须指定数据类型B. 变量可以随意改变其存储的值C. 变量不需要初始化就可以使用D. 变量的命名可以使用任何字符3. 下面关于Java中的循环语句说法正确的是:A. for循环和while循环可以互相替代B. do-while循环至少会执行一次C. continue语句会跳出当前循环D. break语句会结束整个程序的执行4. 在Java中,下面哪个关键字用于定义一个方法:A. voidB. staticC. newD. this5. 下面关于Java中的数组说法正确的是:A. 数组的长度可以在定义后改变B. 数组可以存储不同类型的数据C. 数组可以存储无限多个数据元素D. 数组的下标从0开始6. 在Java中,下面关于面向对象编程的说法正确的是:A. 面向对象编程只有一个特性,即继承B. 封装是面向对象编程的基础特性C. 多态是指一个对象可以拥有多个数据类型D. 接口是指一个类可以继承多个父类7. 下面关于Java中的异常处理说法正确的是:A. Java中的异常是不可避免的错误B. 异常只能通过try-catch语句块来处理C. finally语句块中的代码一定会被执行D. catch语句块可以捕获多个异常8. 在Java中,下面哪个类用于读取用户的输入:A. ScannerB. MathC. StringD. System9. 下面关于Java中的字符串处理说法正确的是:A. String是一个基本数据类型B. 字符串可以使用+操作符进行连接C. String类不能修改已有的字符串D. 字符串的长度可以使用length()方法获取10. 在Java中,以下哪个关键字用于声明一个类:A. intB. classC. voidD. main11. 下面是Java中的一个接口定义,其中哪个关键字没有正确使用:public interface MyInterface {void method1();int method2();}A. publicB. interfaceC. voidD. int12. 在Java中,如何获取数组中的最大值:A. 使用Math类中的max()方法B. 使用Arrays类中的max()方法C. 使用for循环遍历数组D. 使用if-else语句比较每个元素13. 下面是Java中的一个类定义,其中哪个修饰符用于限制类的访问:public class MyClass {private int number;public void setNumber(int number) {this.number = number;}}A. publicB. privateC. voidD. int14. 在Java中,下面关于面向对象中继承的说法正确的是:A. 一个类可以同时继承多个父类B. 子类可以访问父类的私有变量C. 子类可以重写父类的静态方法D. 使用super关键字可以调用父类的构造方法15. 在Java中,以下哪个关键字用于实例化一个对象:A. newB. classC. staticD. void16. 下面关于Java中的文件I/O操作说法正确的是:A. 使用File类可以创建目录B. 使用InputStream类可以写入文件C. 使用FileReader类可以读取二进制文件D. 使用OutputStream类可以读取文本文件17. 在Java中,下面哪个关键字用于在方法中定义常量:A. finalB. staticC. privateD. public18. 下面关于Java中的日期时间处理说法正确的是:A. 使用Date类可以获取当前的日期和时间B. 使用DateFormat类可以格式化日期和时间C. 使用Calendar类可以进行日期的加减运算D. 使用Time类可以获取当前的时间戳19. 在Java中,下面关于线程的说法正确的是:A. 一个进程可以包含多个线程B. 线程是进程的一部分C. 线程一定会按照先后顺序执行D. 使用start()方法可以创建一个新的线程20. 在Java中,以下哪个关键字用于退出当前的循环:A. continueB. returnC. breakD. exit二、编程题(共3题,每题20分,共60分)1. 现有一个整型数组arr,数组中的元素为1、2、3、4、5,请使用循环语句将数组中的元素依次输出。

国家二级C语言(软件工程基础)机试模拟试卷2(题后含答案及解析)

国家二级C语言(软件工程基础)机试模拟试卷2(题后含答案及解析)

国家二级C语言(软件工程基础)机试模拟试卷2(题后含答案及解析)题型有:1. 选择题选择题1.软件是指A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合正确答案:D解析:计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据与相关文档的完整集合。

软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的-与软件开发、运行、维护、使用等有关的文档。

知识模块:软件工程基础2.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统正确答案:A解析:学生成绩管理系统为应用软件。

知识模块:软件工程基础3.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A.编辑软件B.操作系统C.教务管理系统D.浏览器正确答案:B解析:软件根据应用目标的不同,是多种多样的。

软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。

应用软件是为解决特定领域的应用而开发的软件。

系统软件是计算机管理自身资源。

提高计算机使用效率并为计算机用户提供各种服务的软件。

支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件,还包括辅助管理人员控制开发进程和项目管理的工具软件。

知识模块:软件工程基础4.下列关于软件工程的描述中正确的是A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题正确答案:C解析:软件工程是建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法a软件工程主要思想是强调在软件开发过程中需要应用工程化原则。

知识模块:软件工程基础5.下面不属于软件工程过程的4种基本活动A.软件规格说明B.软件开发C.软件演进D.软件测试正确答案:D解析:软件工程过程的4种基本活动是:软件规格说明、软件开发、软件确认、软件演进。

上海市C语言二级考试模拟题

上海市C语言二级考试模拟题

一1,表达式 sizeof(“C2009”) 的值是_________2,在C语言中,标识符只能由字母、数字和下划线字符组成,并且第一个字符不能是________ 字符。

3,定义 int b=7; float a=5.2, c=6.9;则表达式 b*(int)(a+c)/2 的值为_____________4,设x、y均为整型变量,完成以下语句,以实现不借助任何其它变量将x、y的值进行交换:x = x + y; y = x - ______ ; x = x - ______ ;5,设有如下定义,并且结构体数组student中的元素都已有值,若要将这些元素写到 fp 指向的文件中,请将函数调用语句 fwrite( student, sizeof(struct st), 50, _____ ); 补充完整。

struct st{char name[8];int num;float s[3];} student[50];6,写出下列程序的输出结果________#include <stdio.h>long fac( int n ){if ( n==1 ) return 1;return n*fac(n-1);}main(){printf( "5!=%ld\n", fac(5) );}7,假定建立了以下链表结构,如图所示。

指针p与q指向2个不同的结点,t为与data同类型的数据变量,则交换2结点数据的语句为:t=p->data; ___________;和___________;1)以下程序按每行5个数的格式输出1至n范围内能被7或17 整除的整数,并求出其和。

如输入:50则输出:7 14 17 21 2834 35 42 49Sum=247源程序:#include <stdio.h>void main(){int i, n, ct=0, sum=0;scanf( "%d", &n );for ( i=1; i<=n; i++ )if ( ____(1)_____ ){printf( "%d\t", i );_____(2)_______;ct++;if ( ___(3)______ )printf( "\n" );}printf( "\nSum=%d\n", sum );}__2)以下程序输入10个整数到a数组,找到并输出其中最大的整数及其下标。

上海市c语言二级计算机试题及答案

上海市c语言二级计算机试题及答案

上海市c语言二级计算机试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是正确的C语言变量声明?A. int a, b;B. int a; b;C. int a; int b;D. int a, b;答案:D3. 在C语言中,以下哪个运算符用于执行算术运算?A. %B. &&C. ==D. +答案:D4. 在C语言中,以下哪个函数用于将字符串从源复制到目标?A. strcpy()B. strcat()C. strcmp()D. strlen()答案:A5. 下列哪个选项是正确的C语言函数定义?A. int function(int x) { return x; }B. int function(int x) { return x; }C. int function(int x) { return x; }D. int function(int x) { return x; }答案:B6. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B7. 下列哪个选项是正确的C语言数组声明?A. int array[5];B. int array[];C. int [5] array;D. int array;答案:A8. 在C语言中,以下哪个关键字用于声明一个指针?A. *B. &C. %D. #答案:A9. 在C语言中,以下哪个函数用于计算字符串的长度?A. strcpy()B. strcat()C. strcmp()D. strlen()答案:D10. 下列哪个选项是正确的C语言函数返回类型声明?A. void function()B. int function()C. function()D. void function答案:B二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个函数。

C语言上海市等级考试模拟试卷

C语言上海市等级考试模拟试卷

一、选择题1、若有说明语句:int x=10,y=20,z=30;则执行语句:if(x>y) z=x; x=y; y=z; printf(“%d,%d,%d”,x,y,z); 后,输出是____________2、若有以下语句:char x=3,y=6,z; z=y^x<<2;则z的二进制值是________________3、若有定义:int i,j,*pi=&i; 则与i==j等价的比较表达式是____________4、程序段:int num=0;while(num<=2)printf(“%d ,”,num++);的运行结果是_______________5、若用数组名作为函数调用时的实参,则实际上传递给形参的是____________6、若已定义: int x;则表达式((x=4*5,x*5),x+25) 的值是______ 。

7、若有说明:int a[3][4],s; ,则对数组a的元素引用错误的是____________8、下列C语言的标识符中,合法的标识符为____________9、若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执行语句:scanf(“x=%d, y=%f”,&x,&y,); 时,正确的键盘输入是______ 。

10、若有定义:struct person{int id ;char name[20];} per,*s=&per;则以下对结构体成员的引用中错误的是____________二、填空题1、下列程序的输出结果是______________long fib(int g){ switch(g){case 0: return(0);case 1:case 2: return(2);}return ( fib(g-1) + fib(g-2) );}main(){ long k;k = fib(4);printf("k=%ld\n", k);}2、设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t 的值是_____________3、如果函数不要求带回值,可用____________来定义函数返回值为空.4、下列程序的输出结果是________________f(int a[]){ int i=0;while (a[i]<=10){ printf(“%d ”, a[i]);i++;}}main(){ int a[]={8,4,10,11,9,20};f(a+1);}5、设有说明语句:int a=13, b=6;则a/b的十进制数值为________6、假定建立了以下链表结构:struct node{int id ;struct node *next;} *head,*p;如下图所示:指针p指向一个新结点,将新结点插入到链表成为头结点的两条C语言语句是【】7、设有说明语句:int x=3, y=2; 则计算表达式(x=5) || (y=6*x) 后变量y的值是_____________三、程序填空题1、下面程序的功能是:整型数组a中含N个元素,现将元素位置进行前后交换,使第0个元素与第N-1个元素交换,第1个元素与第N-2个元素交换,以此类推,最后输出交换后的数组元素。

2021年计算机二级C语言考前模拟试题及答案3

2021年计算机二级C语言考前模拟试题及答案3

2021年计算机二级C语言考前模拟试题及答案3一、选择题(每小题1分,共40分)(1)一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、c、D、E依次入栈,然后再依次出栈,则元素出棱的顺序是( )。

A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA(2)下列叙述中正确的是( )。

A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。

A.0(n)B.D(n2)C.O(1092n)D.0(nl092n)(4)下列叙述中正确的是( )。

A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是( )。

A.控制流B.事件驱动C.模块调用D.数据流(6)在软件开发中,需求分析阶段可以使用的工具是( )。

A.N—s图B.DFD图C.PAD图D.程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是( )。

A.一致性B.分类性C.多态性D.标识性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。

A.一对一B.一对多C.多对一D.多对多(9)在数据管理技术发展的三个阶段中,数据共享的是( )。

A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同(11)下列叙述中错误的是( )。

A.C程序可以由多个程序文件组成B.一个c语言程序只能实现一种算法C.c程序可以由一个或多个函数组成,D.一个C函数可以单独作为一个C程序文件存在(12)以下选项中,能用作数据常量的是( )。

上海市计算机二级c语言试题及答案

上海市计算机二级c语言试题及答案

上海市计算机二级c语言试题及答案一、选择题(本大题共10小题,每小题2分,共20分。

每小题只有一个选项是正确的,请将正确答案的字母填在题后的括号内。

)1. C语言中,用于定义一个结构体类型的关键字是()。

A. structB. unionC. enumD. typedef2. 以下哪个选项是合法的C语言用户标识符?()A. 2dollarB. intC. _123abcD. float3. 在C语言中,用于定义一个整型数组的语句是()。

A. int a[10];B. int a[];C. int a=10;D. int a(10);4. 下列哪个函数不能用于字符串连接?()A. strcatB. strcpyC. strncatD. printf5. 在C语言中,用于声明一个函数的关键字是()。

A. defineB. typedefC. externD. static6. 以下哪个选项不是C语言中的运算符?()A. %B. &&C. ::D. <7. C语言中,用于表示逻辑“与”操作的运算符是()。

A. &&B. ||C. !D. &8. 在C语言中,以下哪个选项不是合法的赋值语句?()A. a = b;B. a = b = c;C. a = (b = c);D. a = (b, c);9. 在C语言中,以下哪个选项不是合法的循环语句?()A. forB. do-whileC. whileD. repeat-until10. C语言中,用于定义一个指针变量的语句是()。

A. int *p;B. int p*;C. int *p = 0;D. int p = 0;二、填空题(本大题共5小题,每小题4分,共20分。

请将答案填在题后的横线上。

)1. 在C语言中,表示逻辑“或”操作的运算符是______。

2. C语言中,用于计算两个整数的最大公约数的函数是______。

计算机二级c语言五套模拟卷及答案要点

计算机二级c语言五套模拟卷及答案要点

4.以下表达式 : 2+ ’ a’ +i*f, 其中 i 为整型变量 ,f 为 float 型变量 ,则表达式的最终数据类型


A ) int
B) float
C) char
D) double
5.有如下语句 :
printf( “ %s,%5n.”3s, “ COMPUTE”R , “ COMPUTE”R );
3.编写一个函数计算一个字符串的长度,输入输出在主函数内完成。
(使用指针)
模拟试题二 一、选择题(本大题 30 分,每小题 2 分)
1.C 语言中不能用来表示整常数的进制是

A )十进制
B )十六进制
C)八进制
D )二进制
2.C 语言规定标识符由
等字符组成。
A )字母 数字 下划线 C)字母 数字 逗号
A )地址传递 C)双向值传递
B )单向值传递 D )随机传递
10.将字符串 str2 连接到字符串 str1 中应使用
A ) strcpy(str1,str2)
C) strcmp(str1,str2)
11.若有以下定义 :
int a[10],*p=a; 则 *(p+3) 表示的是

A )元素 a[3] 的地址
else a[i][j]= ,*? ; }
for(i=0;i<6;i++)
{ for(j=0;j<6;j++)
printf( “ %c” ,a[i][j]);
printf( n“” );}
}
} 24 分,每小题 4 分)
4.main( )
{ int i=2, x=5, j=7;

2022年上海应用技术大学公共课《C语言》科目期末试卷B(有答案)

2022年上海应用技术大学公共课《C语言》科目期末试卷B(有答案)

2022年上海应用技术大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。

2、C语言的源程序必须通过【】和【】后,才能被计算机执行。

3、结构化程序由________、________ 、________ 3种基本结构组成。

4、假设变量a、b均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。

5、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。

6、与表达式x^=y-2等价的另一书写形式是_______。

7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。

请填空。

for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。

int a=1,b=3,c=5,s1,s2;s1=MIN(a=b,b-a);s2=T(a++,a*++b,a+b+c);9、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。

10、以下程序的运行结果是_______。

#include <stdio.h>int main(){char s[]="ab\'cdefg\",*p=s+1;printf("%c”,*(p++));printf("%s",p+2);return(0);}二、选择题11、下面4个选项中,是不合法的整型常量的选项是 ( )。

上海计算机二级考试计算机C语言模拟题

上海计算机二级考试计算机C语言模拟题
B. Continue 结束本次循环,而break,结束整个循环,exit退出程序,return一般用于函数调用, 返回一个值
D。int func(int a[],int n)中,int a[]表示要输入一个数组,而在数组中,a表示数组的首地址。 并且,a[10]这个答案,已经超出了表示范围,
C。因为要使a里面存 ’ 符号需要写a=’’’’;也就是要注明两次’符号才可以。而16本身是个字符串,加 入单引号也是不对的。字符串需要用“”指明,而字符要用’’指明
}
程序运行时输出如图所示的数字倒三角形 1234567
12345 123 1 源程序: #include <stdio.h> void main() { int i,j; ____1____; int k for(i=1;i<=4;i++) { k=1;
for(j=1;j<i;j++) putchar(' '); /* 输出空格 */
____1____; int i
gets(a);
for(____2____; a[i]!='\0'; i++) i=0
switch(____3____)
a[i]
{
case 'A':
case 'a': n[0]++; break;
case 'E':
case 'e': n[1]++; break;
case 'I':
(2)计算a的所有不同的质因子(包括1)之积,记为s; (3)如果s等于b,则通过验证,输出"OK",否则输出"Err"。 输出格式参见以下示例。 运行示例1: 输入:588 42 输出:588: 1*2*3*7=42, OK 说明:输入数为588(对应a)和42(对应b),588的质因子为1、2、3和7,其累乘结果为42(对应s),由s等于b(均 为42),输出OK。 运行示例2: 输入:17 55 输出:17: 1*17=17, Err(17!=55) 说明:质因子为1和17,乘积仍为17,不等于b(55),输出Err,及不通过原因"(17!=55)"。 #include<stdio.h> void main() {

2021年计算机等考二级C语言模拟试题及答案

2021年计算机等考二级C语言模拟试题及答案

计算机等考二级C语言模仿试题及答案一、填空1.实型变量类型阐明符有:__________、____________。

2.表达式7+8>2 && 25 %5成果是_______________________。

3.下列程序段是从键盘输入字符中记录数字字符个数,用换行符结束循环。

Int n=0,ch;Ch=getchar( );While( __________________ ) ) ) ){ if ( ________________ ) n++;4.putchar(c ) 函数功能是是是_____________________________________。

5int *p 含义是是是是___________________________________________。

6.C语言中数组下标下限为___________________________。

7.定义fp为文献型指针变量定义办法为_______________________。

8.数组 int a[3][4];共定义了____________个数组元素。

二、单项选取题1、下列属于整型常量是________。

A、12B、12.0C、-12.0D、10E102、不属于字符型常量是_________。

A.‘A’B、'a'C、“A”D、'b'3、下列表达式为关系表达式为_________。

(其中a为一整型变量)A.3+4*5B、a==10C、a>0?a:-aD、a=14、下面不对的赋值语句是_____________。

A.a=a+1B、a= =bC、a+=bD、a=15、下列对数组定义不对的语句是______________。

A.int m[5];B、char b[]={‘h’,’e’};C、int a[10]={1,6,8,4};D、char p[];6、若有如下定义,则______和______是对数组元素对的引用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.选择题
1.以下不正确的C语言标识符是()。

A. AB1
B. a2_b
C. _ab3
D. 4ab
2.若有定义int (*p)[4],则标识符p是一个。

A、指向整型变量的指针变量
B、指向函数的指针变量
C、指向有四个整型元素的一维数组的指针变量
D、指针数组名,有四个元素,每个元素均为一个指向整型变量的指针3.若用数组名作为函数调用时实参,则实际上传递给形参的是
()。

A.数组首地址 B. 数组的第一个元素值
C.数组中全部元素的值 D. 数组元素的个数
4.C语言中规定函数的返回值的类型是由()。

A.return语句中的表达式类型所决定
B.在定义该函数时所指定的函数类型所决定
C.调用该函数时系统临时决定
D.调用该函数时的主调用函数类型所决定
5.以下错误的描述是()。

A. 不同的函数中可以使用相同的变量名
B. 形式参数是局部变量
C. 一个函数内部定义的变量只能在本函数范围内有效
D. 在一个函数内部的复合语句中定义的变量可以在本函数范围内有效
6.为了判断两个字符串s1和s2是否相等,应当使用( )。

A.
if(s1 == s2) B. if(s1 = s2)
C. if(strcpy(s1,s2))
D.if(strcmp(s1,s2)==0)
7.在while(x)语句中的x与下面条件表达式等价的是:。

A. x!=0
B. x==1
C. x!=1
D. x==0
8.若有以下说明和语句:
struct stu
{
int no;
char *name;
}student, *p=&student;
则以下引用方法不正确的是()。

A. student.no
B. (*p).no
C. p->no
D. student->no
9.以下对二维数组进行正确初始化的是()。

A.int a[2][3]={{1,2},{3,4},{5,6}};
B.int a[2][3]={{1,2},{},{4,5}};
C.int a[][3]={1,2,3,4,5,6};
D.int a[2][]={{1,2},{3,4}};
10.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。

A. j*n+i B. i*n+j C. i*n+j-1 D. i*n+j+1
二、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。

1.从键盘输入10个整型数据,放入数组a 中,求其最大值及其所在元素的下
标位置,并输出。

main()
{
int a[10], n, pos, max;
for (n=0; n<10; n++)
scanf("%d", &a[n]);
max = ;
pos = ;
for (n=0; n<10; n++)
{
if (a[n] > max)
{
max = a[n];
pos = ;
}
}
printf("max=%d, pos=%d\n", max, pos);
}
2.输入若干个大于2的整数(否则终止运行),判断其是否为2个大于1的整数的乘积。

如:输入8则输出“2*4=8”,输入7则输出“不可分解”。

#include <stdio.h>
#include ⑴
void main()
{ int m,i;
while(scanf("%d",&m),⑵ ) {
for(i=2;i<=sqrt(m);i++)
if(m%i==0){ printf("%d*%d=%d\n", ⑶ );break; }
if((4) ) printf("不可分解\n");
}
}
3.下列程序计算方程a•x2+b•x+c=0的实根。

#include <stdio.h>
#include <math.h>
struct root {
⑴ ;
};
root f(float a,float b,float c)
{ ⑵ ;
x.x1=(-b+sqrt(b*b-4*a*c))/2/a;
x.x2=(-b-sqrt(b*b-4*a*c))/2/a;
⑶ ;
}
void main()
{ float a,b,c; root y;
scanf("%f%f%f",&a,&b,&c);
if(b*b-4*a*c<0)
printf("方程无实根\n");
else {
y=f(a,b,c); printf("x1=%f,x2=%f\n", ⑷ );
}
}。

相关文档
最新文档