C语言模拟试题二

合集下载

c语言二级考试试题及答案

c语言二级考试试题及答案

c语言二级考试试题及答案C语言二级考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中数组的描述,正确的是:A. 数组名是一个变量名B. 数组名是一个常量C. 数组名是一个指针D. 数组名是一个函数答案:B2. 以下哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable name答案:C3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World" + "Hello World"D. "Hello\nWorld"答案:D4. C语言中,以下哪个不是标准输入输出库函数?A. printf()B. scanf()C. getchar()D. puts()答案:C5. 下列哪个是C语言中的条件语句?A. ifB. switchC. forD. while答案:A6. C语言中,以下哪个是正确的函数定义?A. int function_name(int x, int y) { /* ... */ }B. int function_name(int x, int y);C. int function_name(int x, y) { /* ... */ }D. int function_name(int x; int y) { /* ... */ }答案:A7. 在C语言中,以下哪个是正确的递归函数调用?A. function_name(x)B. function_name(x, y)C. function_name(function_name(x))D. function_name(&x)答案:C8. 在C语言中,以下哪个是正确的结构体定义?A. struct person { int age; char name[50]; };B. struct person { int age; char name[50] }C. struct person { int age; char name[50]; }D. struct person { int age; char name[50] } person;答案:A9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. int * ptr;答案:A10. 下列哪个是C语言中的位运算符?A. &&B. ||C. &D. ++答案:C二、填空题(每题2分,共10分)1. C语言中,使用________运算符可以实现两个整数的按位与操作。

国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析)

国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析)

国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析) 题型有:1.1.使用VC++2010打开考生文件夹下prog1中的解决方案。

此解决方案的项目中包含一个源程序文件prog1.c。

在此程序中,函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。

例如,若8所指字符串中的内容为“ABCDEFG12345”,其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCII码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。

最后t所指的数组中的内容应是“BDF12345”。

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

请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:#include<stdio.h>#include<string.h>void fun(char*s,char t[]){}main( ){char s[100],t[100];void NONO( );printf(“\nPlease enter string S:”);Scanf(“%s”,s);fun(s,t);printf(“\nThe result is:%s\n”,t);NONO( );}void NONO( ){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/chars[100],t[100];FTLE*rf,*wf;int i;rf=fopen(“in.dat”,”r”);wf=fopen(“out.dat”,”w”);for(i=0;i<10;i++){fscanf(rf,”%s”,s);fun(s,t);fprintf(wf,”%s\n”,t);}fclose(rf);fclose(wf);}正确答案:void fun(char*s,char t[]){int i,j=0;for(i=0;i<strlen(s);i++)if(!((i%2)==0&&(s[i]%2)))t[j++]=s[i];t[j]=0;}解析:本题是从一个字符串按要求生成另一个新的字符串。

c语言二级考试题库及详解答案

c语言二级考试题库及详解答案

c语言二级考试题库及详解答案C语言二级考试题库及详解答案一、选择题1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. 3numberD. variable#答案:B2. C语言中,整型变量int所占的字节数是:A. 1字节B. 2字节C. 4字节D. 8字节答案:C(注:实际字节数可能因编译器和平台而异,但通常为4字节)3. 下列哪个不是C语言的控制语句?A. ifB. switchC. forD. goto答案:B(注:switch也是C语言的控制语句,此题有误)二、填空题1. 在C语言中,若要定义一个整型数组,可以使用以下语法:___________。

答案:int array_name[array_size];2. C语言中,用于计算两个数的乘积的运算符是:___________。

答案:*三、简答题1. 简述C语言中数组和指针的区别。

答案:数组是一种数据结构,用于存储相同类型的元素集合。

指针是一个变量,它存储了另一个变量的内存地址。

数组名可以作为指针使用,但数组本身不是指针。

数组的大小在定义时确定,而指针可以指向不同大小的内存块。

2. 解释C语言中的递归函数。

答案:递归函数是一种函数,它在执行过程中调用自己。

递归函数通常用于解决可以分解为相似子问题的问题。

递归函数必须有一个明确的终止条件,以避免无限递归。

四、编程题1. 编写一个C语言程序,实现求1到100的和。

答案:```c#include <stdio.h>int main() {int sum = 0, i;for(i = 1; i <= 100; i++) {sum += i;}printf("1到100的和是:%d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串反转。

答案:```cvoid reverseString(char *str) {int len = 0;while(str[len] != '\0') {len++;}for(int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - 1 - i];str[len - 1 - i] = temp;}}```五、论述题1. 论述C语言中函数的作用和重要性。

C语言模拟试题二

C语言模拟试题二

C语⾔模拟试题⼆C语⾔程序设计》模拟试题⼆⼀、选择题(每题1.5分,共45分)1. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 122. 下列程序的输出结果是A) 3 B) 3.2 C) 0 D) 3.07 main(){ double d=3.2; intx,y;x=1.2; y=(x+3.8)/5.0; x为整形⾃动舍去⼩数部分printf("%d \n", d*y);}3. 下列程序执⾏后的输出结果是(⼩数点后只写⼀位)A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.0main(){ double d; float f; long l; inti;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);}4. 下列变量定义中合法的是A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;5. 设 int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1 C) 2 D) -16. 与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是A) if (x>0) y=1; B) if(x)else if(x<0)y=-1; if(x>0)y=1;else y=0; else if(x<0)y=-1;else y=0;C) y=-1 D) y=0;if(x) if(x>=0)if(x>0)y=1; if(x>0)y=1;else if(x==0)y=0; else y=-1;A) 3 B) 2 C) 1 D) 0 main(){ inti,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}8. 以下叙述正确的是A) do-while语句构成的循环不能⽤其它语句构成的循环来代替。

全国计算机等级考试《二级C语言程序设计》模拟试卷二

全国计算机等级考试《二级C语言程序设计》模拟试卷二

全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。

A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。

答案选择B选项。

[单选题]4.下面不属于需求分析阶段任务的是()。

A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。

制定软件集成测试计划属于概要设计阶段的任务。

答案选择D选项。

[单选题]5.结构化程序的三种基本控制结构是()。

A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。

答案选择A选项。

[单选题]6.构成计算机软件的是()。

A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。

答案选择D选项。

[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。

A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。

C语言模拟题

C语言模拟题

C语言模拟试题(一)一、选择题1、以下字符中不是转义字符的是( A )。

A、 '\c'B、 '\b'C、 '\\'D、 '\a'2、设 a=12,且 a定义为整型变量。

执行语句a+=a-=a*=a;后 a的值为( A)。

A、 0B、 144C、 132D、 123、已定义 float x=,y=;依照下面的输出结果,正确的输出语句是(C ).y+x=,y-x=A、 printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);B、 printf("y+x=%f,y-x=%f\n",y+x,y-x);,lC、 printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);D、 printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);4、执行下面程序段后 ,b的值为 (A ).int s=35;char t='A'; int b;b=((s&&4)&&(t<'a'));A、 1B、 3C、 2D、 05 k是整型 ,则以下程序段的执行结果是:(B )k=-3;if(k<=0) printf("####")else printf("&&&&");A、 ####B、有语法错误,无结果C、 &&&&D、 ####&&&&6设 j和 k都是 int 种类,则下面的 for 循环语句( D)。

for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);A、最多执行 9次B、是无量循环C、循环体一次也不执行D、最多执行 10 次7 以下正确的描述是(A ).A、只幸亏循环体内和switch 语句内使用 break 语句B、 continue 语句的作用是停止整个循环的执行C、从多层嵌套的外层循环中退出时,只能使用 goto 语句D、在循环体内使用break和 continue 语句的作用相同8 以下能对一维数组a进行正确初始化的语句是(B)。

二级c语言器模考试题和答案

二级c语言器模考试题和答案

二级c语言器模考试题和答案**二级C语言模拟考试题和答案**一、选择题(每题2分,共40分)1. 下列哪个选项是C语言的关键字?A. intB. INTC. IntD. Integer**答案:A**2. C语言中,哪个函数用于输入一个字符?A. putchar()B. getc()C. scanf()D. getchar()**答案:D**3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!'"D. "Hello, World!"**答案:A**4. C语言中,以下哪个选项是合法的整型常量?A. 0x1AB. 1.2E3C. 0177D. 0b1010**答案:C**5. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. _variableD. variable-name**答案:B**6. C语言中,以下哪个选项是合法的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array;**答案:A**7. C语言中,以下哪个选项是合法的函数声明?A. void myFunction();B. int myFunction;C. int myFunction();D. void myFunction int x;**答案:C**8. C语言中,以下哪个选项是合法的循环语句?A. do { ... } while (condition);B. while { ... } (condition);C. for { ... } (condition);D. repeat { ... } until (condition);**答案:A**9. C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int ptr*;C. int *ptr[];D. int (*ptr)();**答案:A**10. C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI 3.14159D. #define PI 3.14159**答案:A**二、填空题(每题2分,共20分)1. C语言中,用于计算两个整数的差的运算符是 ________ 。

c语言试题带答案

c语言试题带答案

C语言模拟题二C语言模拟题二一、单项选择题1.程序中定义以下宏#define S(a,b)a*b若定义int area;且令area=S(3+1,3+4),则变量area的值为_________A 10B 12C 21D 282.正确的标识符是_________A ifB a=2C a.3D a_33.表达式1&3&5&7的值为_________A 1B 3C 5D 74.语句printf(″s\\t″)的输出结果为_________A s\\tB s\tC s\D s5. 执行下列语句后,sum变量的值是_________int sum=0;for(int i=0;i<10;i++,sum+=i);A 45B 55C 0D 编译错误6.已知有共用体变量data1定义如下:union data{ int i;char ch;float f;} data1;则变量data1所占的内存存储空间可表示为_________A sizeof(int)B sizeof(char)C sizeof(float)Dsizeof(int)+sizeof(char)+sizeof(float)7.若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示_________A 已读到此文件末尾B 未读到此文件的末尾C 此文件已关闭D此文件尚未被打开8.以下c语言函数声明中,不正确的是_________A void fun (int x,int y);B fun (int x,int y);C int fun (int x,y);D char *fun (char *s);9.若有语句if(x==0) y=5;则与条件x==0等价的表达式为_________A xB !xC x!=1D 以上都不对10.在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为A)ABCdef B)abcDEF C)abc D)DEF#includemain( ){ char ch;while((ch=getchar( ))!='\n'){ if(ch>='A' && ch<='Z')ch=ch+32;else if(ch>='a' && ch<='z')ch=ch-32;printf("%c",ch);}printf("\n");}11.下面不能正确进行字符串赋值操作的语句是_______A)char s[5]={"ABCDE"};B)char s[5]={'A'、'B'、'C'、'D'、'E'};C) char *s;s="ABCDEF";D)char *s;scanf("%s",s);12.若x=4,则x*=x+2的值为_________A 36B 24C 18D 2013.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为_________A 1B 2C 4D 514.设a为5,执行下列语句后,b的值不为2的是_________A b=a/2B b=6-(--a)C b=a%2D b=a<32?2:115.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是_________A p2=**p1B p2=*&p1C p2=*p1D p2=&*p116.以下运算符中,运算对象必须是整型的是_________A /B %=C != D〈=17.以下关于typedef的叙述中错误的是_________A用typedef可以增加新的类型B用typedef可以定义各种类型名,但不能用来定义变量C用typedef只是将已有的类型用新的标识符来代表D使用typedef有利于程序的通用和移植18.若执行完成下列语句:int a=3,b=6,c;c=a∧b<<2;则变量c的二进制值为_________A 00011100B 00010100C 0001000D 0001101119.以下关于宏替换的叙述不正确的是_________A宏替换只是字符替换B宏名无类型C宏替换不占用运行时间D宏替换不占用编译时间20. 以下对枚举类型名的定义中正确的是_________A enum s={a,b,c}B enum s {a=9,b=2,c}C enum s={′a′,′b′,′c′}D enum s{′a′,′b′,′c′}二、判断题1.若有说明int c;则while (c=getchar());是错误的C语句。

c语言二级考试题及答案

c语言二级考试题及答案

c语言二级考试题及答案一、单项选择题(本大题共40小题,每小题2分,共80分)1. 在C语言中,下列哪个选项是正确的整型常量?A. 0.5B. 0x12C. 0x12.0D. 0x12L答案:B2. C语言中,下列哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "hello'"D. 'hello"答案:A3. 在C语言中,下列哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C4. 下列哪个选项是C语言中的关键字?A. intB. integerC. realD. double答案:A5. 在C语言中,下列哪个选项是正确的二进制常量表示?A. 0x1BB. 0b1101C. 0B1101D. 0x1101答案:B6. C语言中,下列哪个选项是正确的浮点型常量表示?A. 3.14B. 3.14e2C. 3.14E-2D. 3.14f答案:C7. 在C语言中,下列哪个选项是正确的字符常量表示?A. 'a'B. "a"C. 'ab'D. '0x61'答案:A8. 下列哪个选项是C语言中合法的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a[5] = {1, 2, 3};D. int a = {1, 2, 3, 4, 5};答案:A9. 在C语言中,下列哪个选项是正确的函数声明?A. int add(int a, int b);B. int add();C. int add(int, int);D. int add(int a, b);答案:A10. 下列哪个选项是C语言中合法的指针声明?A. int *p;B. int *p[];C. int *p[5];D. int (*p)();答案:A11. 在C语言中,下列哪个选项是正确的结构体声明?A. struct Point { int x, y; };B. struct { int x, y; } Point;C. struct Point { int x; int y; };D. struct { int x; int y; };答案:C12. 下列哪个选项是C语言中合法的枚举声明?A. enum {RED, GREEN, BLUE} color;B. enum color {RED, GREEN, BLUE};C. enum {RED, GREEN, BLUE};D. enum color {0, 1, 2};答案:B13. 在C语言中,下列哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI(3.14159)D. #define PI 3.14159;答案:A14. 下列哪个选项是C语言中合法的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A15. 在C语言中,下列哪个选项是正确的条件语句?A. if (a > b) { ... }B. if a > b { ... }C. if (a > b) then { ... }D. if a > b then { ... }答案:A16. 下列哪个选项是C语言中合法的循环语句?A. for (i = 0; i < n; i++) { ... }B. for i = 0; i < n; i++ { ... }C. for (i = 0; i < n; i++) { ... }D. for i = 0 to n { ... }答案:A17. 在C语言中,下列哪个选项是正确的switch语句?A. switch (a) { case 1: ...; case 2: ...; }B. switch (a) { case 1: ...; case 2: ...; default: ...; }C. switch (a) { case 1: ...; case 2: ...; break; }D. switch (a) { case 1: ...; case 2: ...; default: ...; }答案:D18. 下列哪个选项是C语言中合法的goto语句?A. goto label;B. goto 10;C. label: ...D. goto;答案:C19. 在C语言中,下列哪个选项是正确的函数调用?A. printf("%d", 10);B. scanf("%d", &a);C. printf("%d", a);D. scanf("%d", a);答案:B20. 下列哪个选项是C语言中合法的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a, b) { return a + b; }C. int add(int a, int b) { return a + b; }D. int add(a, b) { return a + b; }答案:A21. 在C语言中,下列哪个选项是正确的递归函数调用?A. int factorial(int n) { return n * factorial(n - 1); }B. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }C. int factorial(int n) { return n * factorial(n + 1); }D. int factorial(int n) { if (n == 1) return 1; else return n * factorial(n - 1); }答案:B22. 下列哪个选项是C语言中合法的数组初始化?A. int a[5] = {1, 2, 3, 4, 5};B. int a[5] = {1, 2, 3, 4};C. int a[5] = {1, 2, 3};D. int a[5] = {1, 2, 3, 4, 5, 6};答案:A23. 在C语言中,下列哪个选项是正确的字符串复制?A. strcpy(a, b);B. strcopy(a, b);C. copy(a, b);D. strcp(a, b);24. 下列哪个选项是C语言中合法的内存分配?A. int *p = (int *)malloc(sizeof(int) * 10);B. int *p = malloc(10 * sizeof(int));C. int *p = (int *)malloc(10);D. int *p = malloc(sizeof(int) * 10);答案:A25. 在C语言中,下列哪个选项是正确的内存释放?A. free(p);B. delete p;C. deallocate p;D. dispose p;答案:A26. 下列哪个选项是C语言中合法的指针运算?B. p--;C. p += 2;D. p = 2;答案:A27. 在C语言中,下列哪个选项是正确的结构体赋值?A. Point p1 = {1, 2};B. Point p1 = p2;C. Point p1 = {1, 2};D. Point p1 = {1, 2, 3};答案:B28. 下列哪个选项是C语言中合法的枚举值使用?A. color = RED;B. color = 0;C. color = "RED";D. color = 1;答案:A29. 在C语言中,下列哪个选项是正确的宏替换?A. #define SQUARE(x) x * xB. #define SQUARE(x) (x) * (x)C. #define SQUARE(x) x * xD. #define SQUARE(x) (x) * (x)答案:D30. 下列哪个选项是C语言中合法的文件操作?A. FILE *fp = fopen("file.txt", "r");B. FILE *fp = open("file.txt", "r");C. FILE *fp = fopen("file.txt", "w");D. FILE *fp = open("file.txt", "w");答案:A31. 在C语言中,下列哪个选项是正确的文件读取?A. fscanf(fp, "%d", &a);B. scanf(fp, "%d", &a);C. fscanf(fp, "%d", a);D. scanf(fp, "%d", a);答案:A32. 下列哪个选项是C语言中合法的文件写入?A. fprintf(fp, "%d", a);B. printf(fp, "%d", a);C. fprintf(fp, "%d", &a);D. printf(fp, "%d", &a);答案:A33. 在C语言中,下列哪个选项是正确的文件关闭?A. close(fp);B. fclose(fp);C. fclose(fp);D. close(fp);答案:B34. 下列哪个选项是C语言中合法的错误处理?A. if (fp == NULL) { perror("Error opening file"); exit(1); }B. if (fp == NULL) { printf("Error opening file"); exit(1); }C. if (fp == NULL) { perror("Error opening file"); return 1; }D. if (fp == NULL) { printf("Error opening file"); return 1; }答案:A35. 在C语言中,下列哪个选项是正确的位运算?A. a & b;B. a && b;D. a || b;答案:A36. 下列哪个选项是C语言中合法的逻辑运算?A. a && b;B. a || b;C. a & b;D. a | b;答案:A37. 在C语言中,下列哪个选项是正确的自增运算?A. a++;B. ++a;C. a += 1;D. a = a + 1;38. 下列哪个选项是C语言中合法的自减运算?A. a--;B. --a;C. a -= 1;D. a = a - 1;答案:A39. 在C语言中,下列哪个选项是正确的类型转换?A. (int)a;B. int(a);C. (int)(a);D. int a;答案:C40. 下列哪个选项是C语言中合法的sizeof运算?A. sizeof(a);B. sizeof int;C. sizeof(int);D. sizeof "string";答案:C二、程序填空题(本大题共2小题,每小题10分,共20分)1. 给定以下代码片段,请填写缺失的部分以实现计算并打印两个整数的和。

C语言程序设计模拟试题2

C语言程序设计模拟试题2

C语言程序设计模拟试题2一、单选题(每题3分,共计30分)1、C语言中基本数据类型包括(B)。

A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、实型2、下列选项中不属于C语言的优点的选项是()。

A、C语言语句简洁、紧凑,使用方便灵活B、C语言程序易于移植C、生成的目标代码质量高,运行效率高D、数据类型检查严格3、若a、b均为int型变量,且a=100,则关于循环语句for(b=100; a!=b; ++a,++b)printf ( “ ------------”) ;的正确说法是()。

A、循环体只执行一次B、死循环C、循环体一次也不执行D、输出-----------4、对C语言来说,下列标识符中不合法的选项是()。

A、AB2CB、ab2cC、ab.2cD、a_b2c5、执行下列程序段后,i的值是()。

s = 0;for( i = 1; i <= 4; i=i+3 ){s += i;}A、1B、4C、5D、76、下列各语句中,能够输出整型变量a、b中最大值的是( )。

A、printf("%d\n",(a>b)?a,b);B、(a>b)? printf("%d",b): printf("%d",a);C、printf("%d",if(a>b)a else b);D、printf("%d\n",(a>b)?a:b);7、设int a = 9,b = 8,c = 7, x = 1; 则执行语句if (a>7) if (b>8) if (c>9)x=2 ;else x = 3;后,x 的值是( )。

A、0B、2C、1D、38、下列语句中定义x为指向int类型变量a的指针,正确的是()。

A、int a, *x=a;B、int a, *x=&a;C、int *x=&a, a;D、int a, x=a;9、以下正确的函数定义形式是()。

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。

2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。

他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。

在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。

C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。

丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。

2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。

3. 输出结果为“helloworld”。

strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。

在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。

如果第一个字符串不够大,程序会出现内存溢出等问题。

4. A、B、C三个数据类型可以用来存储浮点数。

5. 输出结果为“6”。

在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。

计算机二级C语言五套模拟卷及答案

计算机二级C语言五套模拟卷及答案

计算机二级C语言五套模拟卷及答案模拟试题一一、选择题(本大题30分,每小题2分)1.下列说法正确的是。

E) main函数必须放在C程序的开头F) main函数必须放在C程序的最后G) main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的H) main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的2.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组:。

A)整型实型字符型B)整型数组指针C)数组结构体共用体D)指针逻辑型空类型3.若有说明语句:char c= ‘\64’; 则变量C包含:。

A)1个字符B)2个字符C)3个字符D)说明不合法,C值不确定4.设有如下定义和执行语句,其输出结果为:。

int a=3,b=3;a = --b + 1; printf(“%d %d”,a,b);A)3 2 B)4 2 C)2 2 D)2 35.C语言中,运算对象必须是整型数的运算符是。

A)% B)\ C)% 和\ D)**6.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是。

A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)7.程序段如下int k=0;while(k++<=2); printf("last=%d\n",k);则执行结果是last= 。

A)2 B)3 C)4 D)无结果8.下面有关for循环的正确描述是。

C语言模拟试题II

C语言模拟试题II

《C语言程序设计教程实验与练习》(第二版)模拟试题II及答案一、单项选择题(每题2分,30道题,共60分)1.下面的程序将输出:main(){float f;int x=1,y=;f=x/y;printf("f=%,y=%#X", f, y );}= , y=2 = , y=0X2 = , y=0X2 = , y=22.下面的程序将输出:#include ""main(){int len;char str[]="a\b\04235\0";len=strlen(str);printf("%d",len);}A. 10B. 5C. 6D. 73.下面的程序将输出:main(){int a=0x31;char *str[]={"this is one. ","this is two. "};char ch;ch=++a-’0’;switch(ch){case 1: printf ("%s", str[0]);case 2: printf ("%s", str[1]);default: printf ("no way! ");}}is one. is two. way! is way!4.下面的程序将输出:main(){int a[5]={1,2,3};int k,j;for(k=1;k<4;k++)a[k]++;for(j=0;j<5;j++)printf("%d ",a[j]);}3 4 1 0 3 4 1 0 3 4 0 0 3 4 0 05.已知有下面两个变量,将数组a的第2个单元赋值为1的C语句是:int a[10];int *p;p=a;[2]=1; [1]=1; C.*(p++)=1; D.*(++a)=1;6.下面程序将输出:void add(int a){a++;return;}main(){int k;k=;add(k);printf("%d",k);}A. B. C. 3 D. 47.下列循环结构中,不是..无限循环的是:A. for(i=1, s=0; ; i++)B. i=10;s=s+i ; while(1){i=i%10+1;if(i>10) break; }C. int i=0;D. i =100;do{ ++i ; }while(i>=0); while(++i%2) i++;8.若已知int a[3][4],*p;p=(int *)a;那么对数组a的第2行第2列的正确引用是:[2][2] [5] [5] [1][1]9.已知:int (*p)[20]; 且p的值是0X5000,请问表达式p+2的值是多少?A. 0X5050B. 0X5002C. 0X5004D. 0X504010.若有说明int a[2][2];那么,下面正确的C赋值语句是:=2; [1]=2; [1]={1,2}; [0][1]=a[1][0];11.设x为int型变量,则执行以下语句后,x的值为x=10; x+=x-=x-x;A.10 B.20 C.40 D.3012.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是:A.0 B.语法错C.1 D."假"13.下面能正确进行字符串...赋值操作的语句是:A.char s[5]={"ABCDE"}; B.char s[]={'A','B','C','D','E'};C.char *s;s="ABCDEF"; D.char *s;scanf("%s",s);14.已知:int a[3][4], *p=&a[0][0]; p+=6; 那么*p 和_____的值相同.A.(a+6) B.*(&a[0]+6) C.a[2][2] D.*(&a[0][0]+6) 15.设有以下说明和定义:typedef union { long i; int k[4]; char c; }DATE;struct date { int cat; DATE cow; double dog; } too;DATE max;则下列语句的执行结果是printf ("%d",sizeof (struct date ) +sizeof(max));A.26 B.30 C.18 D.816.设有如下定义:int *(*ptr)();则以下叙述中正确的是A.ptr是指向一维组数的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是指向函数的指针,该函数的返回值是指向int型数据的指针17.若二维数组a 有m列,则在a[i][j]之前的元素个数为______A.j*m+i B.i*m+j C. i*m+j-1 D.i*m+j+118.以下程序运行后,输出结果是A.13 B.51 C.11 D.53int d=1;fun (int p){int d=5;p=d;printf("%d",p);}main(){int a=3;fun(a);d=a;printf("%d\n",d);}19.以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为A.4 B.7 C.6 D.5#include<>#include<>func(char str[ ] ){ int num =0;while(*(str+num)!='\0') num++;return(num);}main( ){char str[10],*p=str;gets(p); printf("%d\n",func(p));}20.执行以下程序段后,m的值为int a[2][3]={ {1,2,3},{4,5,6} };int m,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));A.15 B.14 C.13 D.1221.已知定义了两个结构体变量,下面是正确的语句是:struct {int x; char name[10]; float mark;} S1,S2;A. S1={5, ”yang”, };B. S1=S2;C. = ; = ; =;D. strcpy(S1,S2);22.下面这段程序运行的结果是:int a=0x4145;char *p;p=(char *)&a;*p+=1;printf(“%X” , *p);A. 46B. 4223.下面这段程序运行的结果是:char str[ ]=”%#X”;int a=50;printf(str,a++);D.有语法错24.下面哪个语句是函数的原型声明A. int (*f)(int a , int b);B. int f(int a , 5);C. int f(int a , int b);D. int f(int a=5, int b=6);25.已知int a=0XF11F , b; 执行完下面的操作后,a的值是多少?b=(a&0xFF00)>>4;A. 0X0FF1B. 0XF11F D. 0XFFF126.有以下程序:int a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是。

c语言二级模拟试题

c语言二级模拟试题

c语言二级模拟试题# C语言二级模拟试题一、选择题(每题2分,共20分)1. 下列关于C语言的描述,不正确的是:A. C语言是一种高级编程语言B. C语言具有丰富的数据类型C. C语言是面向对象的编程语言D. C语言支持多文件编程2. 在C语言中,以下哪个关键字用于定义一个函数?A. `int`B. `void`C. `return`D. `function`3. 以下哪个运算符不能用于算术运算?A. `+`B. `-`C. `*`D. `&&`4. 在C语言中,以下哪个语句用于实现循环?A. `if`B. `switch`C. `while`D. `for`5. 以下哪个选项是C语言中的合法变量名?A. `2variable`B. `variable-name`C. `case`D. `default`6. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. `strcpy`B. `strcat`C. `strlen`D. `strncat`7. 在C语言中,以下哪个关键字用于定义一个结构体?A. `struct`B. `union`C. `enum`D. `typedef`8. 在C语言中,以下哪个语句用于定义一个枚举类型?A. `typedef`B. `enum`C. `struct`D. `union`9. 在C语言中,以下哪个函数用于计算一个整数的绝对值?A. `abs`B. `fabs`C. `floor`D. `ceil`10. 在C语言中,以下哪个函数用于将一个浮点数转换为字符串?A. `sprintf`B. `strcpy`C. `strcat`D. `atoi`二、填空题(每题2分,共20分)1. 在C语言中,`printf`函数用于_______。

2. 一个C语言程序的执行从`main`函数开始,`main`函数的返回类型通常是_______。

3. 在C语言中,`scanf`函数用于_______。

《二级C语言》模拟考试题+参考答案

《二级C语言》模拟考试题+参考答案

《二级C语言》模拟考试题+参考答案1、设二叉树如下:则前序遍历为()。

A、ABDEGCFHB、DBGEAFHCC、DGEBHFCAD、ABCDEFGH答案:A2、下面概念中,不属于面向对象方法的是()。

A、继承B、类C、对象D、过程调用答案:D3、下列叙述中正确的是()。

A、break语句只能用于switch语句B、break语句必须与switch语句中的case配对使用C、在switch语句中,不一定使用break语句D、在switch语句中,必须使用default答案:C4、以下程序段中,循环次数不超过10的是()。

A、int i=10do{i=i+1}whilei<0B、int i=6do{i-=2}whilei!=1C、int i=int i=5do{i+=1}whilei>0D、int i=1do{i+=2}whilei!=10答案:A5、对图书进行编目时,图书有如下属性:ISBN书号,书名,作者,出版社,出版日期。

能作为关键字的是()。

A、ISBN书号B、书名C、作者,出版社D、出版社,出版日期答案:A6、下列不属于数据库设计任务的是()。

A、设计数据库物理结构B、设计数据库概论结构C、设计数据库逻辑结构D、设计数据库应用结构答案:D7、一个栈的初始状态为空。

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

A、12345ABCDEB、EDCBA54321C、ABCDE12345D、54321EDCBA答案:B8、以下不能用于实型数据的运算符是()。

A、+B、%C、*D、/答案:B9、若要实现total=1+2+3+4+5求和,以下程序段错误的是()。

A、int i=0,total=0whilei<5 { i+=1total+=i}B、int i=1,total=0whilei<=5 { total+=ii+=1}C、int i=0,total=0whilei<=5 { total+=ii+=1}D、int i=1,total=1whilei<5 { total+=ii+=1}答案:D10、有以下定义 inta; long b; double x,y; 则以下选项中正确的表达式是()。

二级c语言试题及答案

二级c语言试题及答案

二级c语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的叙述中,错误的是()。

A. C语言是一种高级语言B. C语言可以直接在计算机上运行C. C语言具有结构化的特点D. C语言具有丰富的数据类型答案:B2. 在C语言中,用于定义变量的关键字是()。

A. varB. defineC. intD. let答案:C3. 下列选项中,哪个不是C语言中的运算符?()A. %B. &&C. ::D. +=答案:C4. C语言中,用于定义数组的关键字是()。

A. arrayB. listC. vectorD. int答案:D5. 下列关于C语言函数的叙述中,正确的是()。

A. 函数可以没有返回值B. 函数必须有返回值C. 函数的返回值类型不能为voidD. 函数的参数类型必须与返回值类型一致答案:A6. 在C语言中,用于定义结构体的关键字是()。

A. structB. classC. unionD. typedef答案:A7. C语言中,用于声明指针的符号是()。

A. &B. %C. *D. #答案:C8. 下列关于C语言文件操作的叙述中,错误的是()。

A. 文件操作需要包含头文件stdio.hB. 文件指针类型为FILE*C. 文件打开使用fopen函数D. 文件关闭使用fclose函数答案:A9. C语言中,用于实现循环的关键字是()。

A. loopB. repeatC. forD. do答案:C10. 在C语言中,用于定义枚举类型的关键字是()。

A. enumB. typedefC. unionD. struct答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义单精度浮点数的关键字是________。

答案:float2. C语言中,用于定义双精度浮点数的关键字是________。

答案:double3. C语言中,用于定义字符型变量的关键字是________。

计算机二级《C语言》模拟试题及答案

计算机二级《C语言》模拟试题及答案

计算机二级《C语言》模拟试题及答案第一部分:选择题1. 下列哪个不是C语言的关键字?A. switchB. intC. varD. return答案:C2. C语言中的字符常量用单引号括起来,字符串常量用双引号括起来。

A. 对B. 错答案:A3. 运算符“++”表示自加一,运算符“--”表示自减一。

A. 对B. 错答案:A4. 下面哪种变量定义方式是合法的?A. int 6_and_7 = 67;B. int ans1 = 1.5;C. float num1 = 3.14;D. char = 'c';答案:C5. 下面关于if语句的描述正确的是?A. if语句必须有else分支。

B. if语句判断条件可以是字符型变量。

C. if语句可以嵌套使用。

D. if语句不能使用逻辑运算符。

答案:C6. 下面哪种循环结构可以一次都不执行循环体?A. for循环B. while循环C. do-while循环D. 都不可以答案:B7. 下面哪个函数是用来从键盘获取一个字符并输出的?A. printf()B. scanf()C. gets()D. putchar()答案:D8. 下面哪个函数是用来比较两个字符串是否相等的?A. strcp()B. strcmp()C. strstr()D. sprintf()答案:B9. C语言中的数组下标是从0开始的。

A. 对B. 错答案:A10. 下面哪个运算符有最高的优先级?A. ++B. +C. *D. =答案:A第二部分:填空题1. 下列标识符是合法的。

(多选)() today_is_Friday()七夕节快乐() month-1() NAME() 3+5num答案:A和D2. int num = ____; 语句将会把变量num的值赋为10。

答案:103. 在for循环中,______ 语句用于控制循环条件。

答案:判断4. int num[5] = {1,2,3,4,5}; 语句定义了一个数组,该数组的元素个数为______。

国家计算机二级c语言考试试题题库

国家计算机二级c语言考试试题题库
A.由用户自己定义
B.均为2个字节
C.是任意的
D.由所用机器的机器字长决定
【参考答案】D
12.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )
A.必须为字母
B.必须为下划线
C.必须为字母或下划线
D.可以是字母,数字和下划线中任一字符
C.算法执行过程中所需要的基本运算次数 D.算法程序中的指令条数
【参考答案】C
4.数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为( )
A.C B.Basic C.DDL D.DML
【参考答案】C
5.下列有关数据库的描述,正确的是( )
【参考答案】C
】A
18.以下程序的运行结果是( )
sub(int x,int y,int *z)
{*z=y-x;}
main()
{ int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf(″%4d,%4d,%4d\n″,a,b,c);
计算机等考二级C语言模拟试题二[1]
第一套:
笔试部分
一、选择题
1.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( )
A.acbed B.decab C.deabc D.cedba
【参考答案】D
2.结构化程序设计的3种结构是( )
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;}
main()
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模拟试题二一、选择题(本大题30分,每小题2分)1.C语言中不能用来表示整常数的进制是。

A)十进制B)十六进制C)八进制D)二进制2.C语言规定标识符由等字符组成。

A)字母数字下划线B)中划线字母数字C)字母数字逗号D)字母下划线中划线3.若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是。

A)2.500000 B)3.500000 C)4.500000 D)5.0000004.以下表达式: 2+‟a‟+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为。

A)int B)float C)char D)double5.有如下语句:printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);执行语句后的最终结果为。

A)COMPUTER ,CMP . B)COMPUTER, CMP.C)COMPU, CMP. D)COMPU, CMP .6.以下if语句中语法错误的是。

A)if (a>b)printf(“%f”,a); B)if(a>b)printf(“%f”,a);else printf(“%f”,b);C)if(a>b)printf(“%f”,a) D)if(a>b)printf(“%f”,b);else printf(“%f”,b); else printf(“%f”,a);7.能表示整数x符合下面两个条件的语句是。

(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.A)(x%4==0&&x%100!=0)||x%400==0B)(x%4==0||x%100!=0)&&x%400==0C)(x%4==0&&x%400!=0)||x%100==0D)(x%100==0||x%4!=0)&&x%400==08.循环语句中的for语句,其一般形式如下:for(表达式1;表达式2;表达式3) 语句其中表示循环条件的是。

A)表达式1 B)表达式2 C)表达式3 D)语句9.以数组作为函数的参数时传递的数组的首地址,那么实参数组与形参数组之间的数据传递方式为。

A)地址传递B)单向值传递C)双向值传递D)随机传递10.将字符串str2连接到字符串str1中应使用。

A)strcpy(str1,str2) B)strcat(str1,str2)C)strcmp(str1,str2) D)strcat(str2,str1)11.若有以下定义:int a[10],*p=a; 则*(p+3)表示的是。

A)元素a[3]的地址B)元素a[3]的值C)元素a[4]的地址D)元素a[4]的值12.若有如下语句: int *p1,*p2; 则其中int所指的是。

A)p1的类型B)*p1和*p2的类型C)p2的类型D)p1和p2所能指向变量的类型13.若有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10};char b=‟a‟,d,e;则数值为4的表达式是。

A)a[4] B)a[d-b] C)a[…d‟-b] D)a[e-b]14.有如下程序段,在Turbo C环境下运行的结果为。

main( ){int i=2,p,k=1; int f(int a,int b)p=f(i,++k); { int c;printf(“I=%d,p=%d”,k,p); if(a>b) c=1;} else if (a==b) c=0;else c=-1; return(c); }A)1,0 B)2,0 C)2,-1 D)1,115.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是。

A) EOF B) 0 C) 非零值D) NULL二、判断题(本大题10分,每小题1分)1.在每个C语言的程序中都必须并且只能有一个main函数。

()2.在C语言中,整型数据与字符型数据在任何情况下都可以通用。

()3.在C语言程序中,AHP和ahp分别代表两个不同的标识符。

()4. 在if语句中,不可以没有else子句。

()5.C语言规定,简单变量做实参时,与其对应的形参之间是单向的值传递。

()6. for语句作为循环控制语句时,括号内的分号是用来分开表达式的,因此要根据需要加分号。

()7. 数组名也可作为函数参数使用,此时是地址传递。

()8. C程序有三种结构化程序设计方法,分别嵌套结构、选择结构和循环结构。

()9.数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。

()10.在定义指针型变量时指定的基类型为该指针变量所能指向的变量类型。

()三、程序填空题(本大题12分,每小题2分)1.输入3个实数a, b, c要求按从大到小的顺序输出三数.main( ){ float a,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if (a<b){t=a; (1); b=t;}if( (2)){t=a; a=c; c=t;}if(b<c){ (3)b=c; c=t;}printf(“%f,%f,%f”,a,b,c);}2.打印以下杨辉三角形.(要求打印出10行)main( ){ int a[10][10],i, j ; 1for( i=0;i<10;i++) 1 1{ (4)(5)} 1 2 1for( i=2; i<10; i++ ) - 1 3 3 1for(j=1; j<i ; j++ ) 1 4 6 4 1a[i][j] = (6); ………for(i=0; i<10; i++){ for( j=1; j<=i; j++)printf(“%5d”,a[i][j]);printf(“\n”);}}四、写出下面程序的执行结果(本大题24分,每小题4分)1.main( ){ int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}, b[4][3];int i, j;for (i=0;i<3;i++ )for (j=0;j<4;j++ )b[j][i]=a[i][j];for ( i=0;i<4;i++ ){ for ( j=0;j<3;j++ )printf( “%5d”,b[i][j] );printf( “\n” ); }}2.main( ){ int a[21],i,j,n=0;for(i=2;i<20;i++ )a[i]=i;for ( i=2;i<10;i++ ){if (a[i]==0) continue;for (j=i+1;j<=20;j++)if (a[j]%a[i]==0) a[j]=0;}for ( i=2;i<=20;i++ )if (a[i]!=0) { printf(“%4d”,a[i]); n=n+1;}if (n%4==0) printf(“\n”);}3. float fac(int n){ float f ;if(n<0){printf(“n<0,dataerror!”);f=-1;else if (n==0||n==1) f=1;else f=fac(n-1)*n;return(f);}main( ){int n ;float y ;printf(“input a integer number:”);scanf(“%d”,&n);y=fac(n);printf(“%d!=%5.0f”, n,y);} 假如在运行程序时输入5 ,写出程序的运行情况及最终结果: 。

4.main(){int i=10,j=0;do{j=j+i;i--;while(i>2);printf("%d\n",j);}5. # include <stdio.h>main ( ){ int ﹡p; p=&i; ﹡p=2; p++; ﹡p=5; printf(〞%d,〞, ﹡p);p﹣﹣; printf(〞%d\n 〞, ﹡p); }}6. #include <stdio.h>void f(int c){ int a=0;static int b=0;a++;b++;printf("%d: a=%d, b=%d\n", c, a, b);}void main(void){ int i;for (i=1; i<=3; i++) f( i );}五、编程题(本大题24分,第一题7分,第二题8分,第三题9分)1.已知三角形的三边长,试编程求三角形的面积.要求:三边长从键盘输入,要考虑数据输入是否正确,能否构成三角形等情况.假设三边分别为: a, b, c, s=1/2 (a+b+c), area= s(s-a)(s-b)(s-c)2.有一分数序列:2/1, 3/2, 5/3, 8/5, 13/8, 21/13, ……试编程求数列前20项的和.3. 输入10个学生的成绩,分别用函数实现:(1)求平均成绩;(2)按分数高低进行排序并输出。

模拟试题二答案一、选择题(本大题30分,每小题2分)1~5 D A B D B 6~10 C A B A B11~15 B D C B C二、判断题(本大题10分,每小题1分)1.√2.×3.√4.×5.√6.×7.√8.×9.×10.√三、程序填空题(本大题12分,每小题2分)评分标准:全对的满分,半对半错的给一半分,全错的不得分。

1.(1)a=b(2)a<c(3)t=b2.(4)a[i][0]=1;(5)a[i][i]=1(6)a[i-1][j]+a[i-1][j-1]四、写出下面程序的执行结果(本大题24分,每小题4分)评分标准:全对的满分,半对半错的给一半分,全错的不得分。

1. 1 5 92 6 103 7 114 8 122. 2 3 5 7 11 13 17 193.input a integer number:55!=1204.475.5,26. 1:a=1,b=12:a=1,b=23:a=1,b=3五、编程题(本大题24分,第一题7分,第二题8分,第三题9分)1. #include <math.h>#include <stido.h>main( ){float a,b,c,s,s1;printf(“Please enter 3 reals:\n”);scanf(“%f%f%f”,&a,&b,&c);if((a+b)>c&&(a+c)>b&&(b+c)>a){s=(a+b+c)*0.5;s1=s*(s-a)*(s-b)*(s-c);s=sqrt(s1);printf(“\nArea of the triangle is %f\n”,s);}elseprintf(“It is not triangle!\n”);}2. #include <stdio.h>main( ){int m1,n1,n,k,temp;float s=0;printf(“Please Input n:\n”);scanf(“%d”,&n);m1=1;n1=2;for(k=0;k<n;k++){s+=(float)n1/m1;temp=m1;m1=n1;n1=temp+n1;}printf(“\ns=%f”,s);}3. 10.main( ){float average(float b[]);void sort(float b[]);float a[10],j,aver;for(j=0;j<10;j++)scanf(“%f”,&a[j]);aver=average(a);printf(“aver=%f\n”,aver);sort(a);for(j=0;j<10;j++)printf(“%.2f ”,a[j]);}float average(float b[ ]){int j; float sum=0,aver;for(j=0;j<10;j++)sum=sum+b[i];aver=sum/10.0;return(aver);}void sort(float b[ ]){int i,j,max,k;for(i=0;i<10;i++){max=b[i]; k=i;for(j=i+1;j<10;j++)if(max<b[j]) {max=b[j]; k=j;}b[k]=b[i];b [i]=max;}}。

相关文档
最新文档