信息与通信工程学院08-09-1 C语言试卷(A卷)标准答案

合集下载

2008年9月计算机等级考试二级C语言模拟试卷及其答案

2008年9月计算机等级考试二级C语言模拟试卷及其答案

2008年9月计算机等级考试二级C语言模拟试卷及其答案
转贴于:计算机二级考试_考试大
全国计算机等级考试二级C语言模拟试卷答案
一、选择题
(1)D
评析:算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。

一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。

(2)B
评析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。

《电力拖动控制线路与技能训练》试卷(A)
.21。

《C++面向对象程序设计》试卷08-09-1(原A卷)

《C++面向对象程序设计》试卷08-09-1(原A卷)
初始化并对执行对象的其它内部管理操作
11.P是一个指向类Sample数据成员m的指针,s是类Sample的一具对象,如果要给m赋值为
5,则应写的命令为
12.如果要访问类中说明为private的成员变量,则必须通过________________函数
或____________________函数
13.C++语言中调用重载函数时,区分函数的依据是是和
三角形的面积。重载函数首部如下:5’
double area (double a ); a为正方形的边长
double area (double b, double h); b和h分别为三角形的底和高
C.成员函数可以是静态的D.成员函数可以设置参数的默认值
7.语句for ( int i=0,x=0;!x&&i<=3;i++)循环的次数为( )
A.5 B.4C. 6D.无限
8.表达式18/4*sqrt(4.0)/5值的数据类型是()
A. int B. float
C. doubleD.不确定
9.如果一个类至少有一个纯虚函数,则称该类为()
C.类模板实例化的结果是类D.类模板的基类可以是一个类
12.继承具有( ),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承
间接基类的成员
A.规律性B.传递性C.重复性D.多样性
13.下列表示引用的方法中,正确的是( )
已知:int m=10;
A.int &z;B.int &y=10;
C. int &x=m;D.float &t=&m;
st=;
int size=outstr.pcount();

信息与通信工程学院05-06-2C语言试卷(A卷)

信息与通信工程学院05-06-2C语言试卷(A卷)

天津工业大学信息与通信工程学院05-06-2学期《C语言程序设计》期末试卷(A卷)学号班级姓名一、单选题(每题2分,共42分)1.下列字符串中不是正确的C语言标识符的是:A. longintB. AverageC. Day5D. π2. 四个运算符>.,+优先级由高到低的顺序是:A. >.,+B. +>,.C. .+>,D. ,>+.3. 表达式((int)3.7+8.5)%3的值是:A. 0B. 1C. 2D. 这是一个错误的表达式,不会有值4. 已知int i=1 , j ; 经过j=(i++,i++||i++);语句之后,j的值是:A. 1B. 2C. 3D. 45. 已知int a=5; 经过语句a+=a*=a-=a;语句之后,a的值是:A. 0B. 5C. 15D. 206. 程序段如下:char k=1; while (k>0) k=k+1;则以下说法正确的是:A. while循环执行32767次B. while循环执行255次C. while循环执行127次D. while循环是死循环7.关于return语句,下列说法中不正确的是:A.函数的返回值是通过return语句获得的B.void函数的函数体内最后一条语句也可以是return语句C.return语句后面可以是常量、变量名或表达式,只要有确定的值即可D.函数的返回值也可以通过函数体内的一条给函数名赋值的语句得到8.按照C语言的规定,下列说法不正确的是:A.实参可以是常量、变量或表达式,在传递给形参时,要求实参必须有确定的值B.形参不可以是常量C.实参的个数应该与形参一样多D.形参的值能传递给实参9.关于C语言的控制语句,下列说法错误的是:A. 循环体可以是一个循环语句B. break能结束一个函数的调用C. else必定与它上面最近的没有配对的if相配对,且这个if与else之间只可以有一条语句相隔D. continue语句不能使用在goto构成的循环中10. 下一函数的作用是:void fun(char a[],char b[]){ char *p=a,*q=b;for(;(*p=*q)!='\0';p++,q++);}A. 将字符串b复制到aB. 将字符串a复制到bC. 将字符串b连接到a中的字符串后面D. 将字符串a连接到b中的字符串后面11.#include "stdio.h"long f(int n){if(n==0||n==1) return 1;else return n*f(n-1);}main(){ printf("%ld\n",f(5)); getch( ); }上一程序的输出结果是:A. 120B. 15C. 5D. 2512.#define M(a,b) a*bmain(){printf("%d",M(1+2,3+4));getch();}上一程序的输出结果是:A. 3B. 7C. 11D. 2113.int f(char *a){char *p=a;for(;;)if(*p++=='\0') break;return p-a-1;}这一函数的功能是:A. 求出指针a所指向的字符串的长度B. 求出指针a所指向的字符串的长度-1C. 求出指针a所指向的字符串的第一个字符的ASCII码D. 求出指针a所指向的字符串的末尾一个字符的ASCII码14.main(){ char c[20]="ABCD";puts(c+2);}上一程序的输出结果是:A.CDB.6C.ABCDABD.ABCDCC15. (提示:'A'的ASCII码是65。

北京理工大学2008级信息类C语言程序设计期末试题A卷

北京理工大学2008级信息类C语言程序设计期末试题A卷

2008级信息类C语言程序设计期末试题A卷一、单项选择题(共20分,每题2分)1、一个C程序的执行是从。

A、main( )函数开始,直到main( )函数结束。

B、第一个函数开始,最后一个函数结束。

C、第一个语句开始,最后一个语句结束。

D、main( )函数开始,直到最后一个函数。

2、表示关系12<=x<=y的C语言表达式为。

A、( 12 <= x ) & ( x <= y )B、( 12 <= x ) && ( x <= y )C、( 12 <= x) | ( x <= y )D、( 12 <= x ) || ( x <= y )3、已知:int a[4][10],当“0 <= i < 4, 0 <= j < 10”时,对数组元素a[i][j]的引用错误是。

A、*( &a[0][0] + 10 * i + j )B、*( a + i )[j]C、*( *( a + i ) + j )D、*( a[i] + j )4、设有如下定义: char *aa[2] = { "abcd", "efgh" }; 则以下说法中正确的是。

A、aa数组元素的值分别是"abcd"和"efgh"。

B、aa是指针变量,它指向含有两个数组元素的字符型一维数组。

C、aa数组的两个元素分别是一个字符串的首地址。

D、aa数组的两个元素中各自存放了字符’a’和’e’的地址。

5、以下循环语句可以正确终止的是。

A、int i = 100;B、for( ;;);while( 1 ){ i = i++ % 100;if( i > 100 )break;}C、int k = 32764;D、int s = 32764;do while( ( s++ % 2) || ( s % 2 ) ){ k++;k++;s++;}while( k > 0 );6、sizeof ( float )是。

大学《C语言》试题及参考答案

大学《C语言》试题及参考答案

(2)编写程序输出1-1000之间能够被5整除的所有整数,并求出这些整数的和输出。

(3) 从键盘输入10个正的整数,找出其中的素数输出。

答: #include#includeint f(int x){int i;for(i=2;i<=sqrt(x);i++)if(x%i==0) return 0;return 1}void main(){int a[10],i,n=0,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)if( f(a[i]) n++;else a[i]=0;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;}printf("共有%d个素数,它们是:",n);(4)编写程序打印下列图案答:#include "stdio.h"void main() {for (int i = 0;i <= 4;i++) {for (int j = 0;j <= i;j++) { printf("*");}printf("\n");}}(5)写一个函数计算一个字符串的长度,再写一个测试函数测试其功能。

不允许使用strlen函数答:#include "stdio.h"void convert(char *str){for (int i = 0; str[i] != '\0'; i++) {if (str[i] >= 'A' && str[i] <= 'Z') {str[i] = str[i] - 'A' + 'a';}}}int main(){char str[20] = "aZcdABxDEF123";convert(str);printf("%s\n", str);return 0;}(6)从键盘上任意输入50个整数存放在a数组中,找出a数组中所有偶数存放在数组b 中,并对b数组的值按降序排列。

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。

什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。

全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。

A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。

A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。

A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。

A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。

A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。

A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是( )。

A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。

以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。

天津工业大学信息与通信工程学院08-09-1 C语言试卷(A卷)

天津工业大学信息与通信工程学院08-09-1 C语言试卷(A卷)

天津工业大学信息与通信工程学院08-09-1学期《C语言程序设计》期末试卷(A卷)学号班级姓名分。

请将正确的答案标号画上○)不正确的:A. 标识符可以用于定义变量的名称B. 标识符可以用于自定义函数的名称C. 关键字可以用于定义变量的类型D. 关键字也可以用于定义变量的名称2. C语句的基本类型有5种,除控制语句、函数调用语句、表达式语句、空语句外,还有一种是:A. 复合语句B. 赋值语句C. 输入语句D. 输出语句3. C语言表达式(int)2.52+2.49+1/2的值是:A. 5.51B. 5C. 4.99D. 4.494.已知a、b都是int型,则运行语句 scanf(”%d%d”,&a,&b);时,如何键入不能使a、b得到的值分别是2和3 ?A. 2 3<回车>B. 2 3<回车>C. 2<回车>3<回车>D. 2,3<回车>5. 已知x是int型且值为15,则C语言表达式0<x<10的值是:A. 1B. 0C. ”是”D. ”非”6. 语句 if(x>=’a’&&x<=’z’)x-=32;的功能是:A. 若x是字符’a’或是字符’z’,则将其转换为相应的大写字母B. 若x是小写英文字符,则将其转换为相应的大写字母C. 若x不是小写英文字符,则将其值自减32D. 若x不是小写英文字符,则将其值改为327. 已知i是char型,则关于语句 for(i=0;i<10;i++);的叙述中,错误的是:A. 因i不是int型,所以该循环语句的语法错误B. 循环10次C. 语句结束后,i的值是10D. 循环体是一个空语句8. 语句“printf(“%-10.3f”,3.1415926);”的运行结果是:A. 输出“-10.3”B. 输出“3.142”,占10位,左对齐C. 输出“-3.142”,占10位,右对齐D. 输出“3.142”,整数部分占10位,小数部分占3位,连同小数点一共占用14位,左对齐9. 已知a是一个char型一维数组名,且该数组内存有一个字符串,p是一个char型指针变量,则语句“p=a+strlen(a);”的作用是:A. 将指针p指向a数组的最后一个元素B. 将指针p指向a数组内的字符串的结束标记C.将指针p内存放a数组的长度D.将指针p内存放a数组内的字符串的长度10. 关于“if(表达式) 语句1 else 语句2”语句,下列叙述中,错误的是:A. 其中的“表达式”,可以是一个关系表达式或逻辑表达式,也可以是一个其他类型的表达式B. 其中的“语句1”只能是一个语句C. 其中的“语句2”只能是一个语句D. 其中的一对圆括号“( )”有时可以省略11. 关于数组定义与引用的概念、方法,下列叙述中错误的是:A. 在函数内部定义int a[N]; ,如此定义时,“N”必须是通过#define 定义过的符号常量,而不可以是变量B. int a[3]={1,2,3}; ,如此定义数组并将其初始化时,数组长度“3”可以省略C.int a[3]; ,如此定义数组a且不给其初始化时,默认a内的各元素得到的初始值均为0D.定义二维数组、且有初始化时,数组的第二维的长度(总列数)不可以省略12. 下列常用字符、字符串处理库函数中,无参函数是:A. gets()B. puts()C. getchar()D. putchar()13. 关于常量,下列叙述正确的是:A. “036”表示有效数字是3位的十进制“36”的数B. 常量“1234”被默认为int型C. 常量“1e3”与常量“1000”两种表示法,所代表的数值大小、数据类型都相同D. 常量“5”可以通过语句“5++;”变成数值614. 关于变量、变量地址、变量访问、间接访问的概念,下列叙述错误的是:A. 已知a是int型变量,则C程序中“a”表示变量a中存储的值,“&a”表示变量a的存储地址B. 已知a是int型指针变量,则C程序中“a”表示指针变量a中存储的值,“&a”表示指针变量a的存储地址C. 已知a是int型指针变量,则C程序中“a”表示指针变量a中存储的地址,“&a”表示指针变量a自身的存储地址D. 已知a是int型指针变量,则C程序中“*a”表示指针变量a中存储的地址中所存储的值15. 假设有如下定义:struct a{int x;float y;}b,c[10],*d;则有关结构体的类型定义、变量定义、数组定义、访问的基本概念,下列叙述错误的是:A. “a”是结构体类型名B. “b”是结构体变量名C. 数组c内可以同时存放10个int型数值和10个float型数值D.执行语句“d=c;”后,“d->y”与“c[0].y”不等价30分)1. 下一程序运行时将输出 ________________________ 。

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

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

单项选择================================================== 题号:1482执行以下程序段后,输出结果和a的值是()。

int a=10; printf("%d",a++);A、11 和10B、11 和11C、10 和11D、10 和10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。

A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。

A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A、a>=0 | a<=10B、a>=10 or a<=0C、a>=10 && a<=0D、a>=10 || a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。

A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______ main(){int i=0;while(i<10){if(i<1) continue;if(i==5) break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72';则变量c()。

国家二级c语言真题与答案200809

国家二级c语言真题与答案200809

(2)下列叙述中正确的是( )。 A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D)循环队列中元素的个数是由队头指针和队尾指针共同决定 (3)在长度为n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。 A)O(n) B)O(n2 ) C)O(log2 n) D)O(nlog2 n) (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)三个阶段相同 (10)有三个关系R、S 和T 如下:
(19)若变量已正确定义为int 型,要通过语句scanf("%d, %d, %d", &a, &b, &c) ;给a 赋值 1、给b 赋值2、给c 赋值3,以下输入形式中错误的是( ò 代表一个空格符)( )。 A)ò òò 1,2,3<回车> B)1 ò 2 ò3<回车> C)1, òòò 2, òòò3<回车> (20)有以下程序段 int a, b, c; a=10; b=50; c=30; if (a>b) a=b, b=c; c=a; printf("a=%d b=%d c=%d\n”, a, b, c); 程序的输出结果是( )。 A)a=10 b=50 c=10 B)a=10 b=50 c=30 D)1,2,3<回车>

C语言全部考试系统题库含答案

C语言全部考试系统题库含答案

目录目录 (1)单元练习题一C语言基础知识 (3)一、判断题 (3)二、单项选择题 (4)三、读程序选择题 (7)四、程序填空题 (8)五、编程题 (10)单元练习题二C语言程序结构 (10)一、判断题 (10)二、单项选择题 (11)三、读程序选择题 (18)四、程序填空题 (30)五、编程题 (35)单元练习题三数组 (36)一、判断题 (36)二、单项选择题 (37)三、读程序选择题 (39)四、程序填空题 (43)五、编程题 (49)单元练习题四函数 (49)二、单项选择题 (50)三、读程序选择题 (52)四、程序填空题 (60)五、编程题 (63)单元练习题五预处理 (63)一、判断题 (63)二、单项选择题 (64)三、读程序选择题 (64)四、程序填空题 (65)五、编程题 (65)单元练习题六指针 (66)一、判断题 (66)二、单项选择题 (66)三、读程序选择题 (67)四、程序填空题 (74)五、编程题 (77)单元练习题七结构体与共用体 (78)一、判断题 (78)二、单项选择题 (78)三、读程序选择题 (79)四、程序填空题 (83)单元练习题八文件 (84)一、判断题 (84)二、单项选择题 (84)三、读程序选择题 (84)四、程序填空题 (85)五、编程题 (87)第一章C语言基础知识(C语言概述、算法、数据类型运算符表达式、位运算)一、判断题(正确的填A,错误的填B)R1.在C语言中,逗号运算符的优先级最低。

(A)2.在C语言可执行程序的开始执行点是程序中第一个函数。

(B)3.“5ch”是合法的变量名。

(B)4.C语言程序书写格式自由,一行可以写几个语句,一个语句可以分写在多行上。

(A)5.当输入数据时,必须指明变量的地址,如scanf("%f",&f) (A)N6.表达式i++与++i在任何场合功能完全相同。

(B)7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。

郑州轻工业08-09第一学期C语言试卷A及答案

郑州轻工业08-09第一学期C语言试卷A及答案

08-09第1学期《C语言程序设计》试卷A1、下列变量定义合法的是:()A) float _a=.1e-1; B) double b=5e2.5;C) long for=0xfdal; D) float 2_and=0.12;2、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的是:()。

A)a≠0; B)!a; C)a=0; D)a;3、若变量已正确定义并赋值,下面符合C语言语法的表达式是:()。

A)a:=b+1; B)a=b=c+2;C)int 18.5%3; D)a=a+7=c+b;4、两次运行下面程序,如果从键盘上分别输入6和4,则输出的结果是()。

void main(){ int x;scanf((“%d”,&x);if(x++>5) printf((“%d”, x);else printf((“%d\n”,x--) ;}A) 7和5 B) 6和3 C) 7和4 D) 6和45、当调用函数时,实参是一个数组名,则向函数传送的是()。

A)数组的长度B)数组的首地址C)数组的每一个元素的地址D)数组每个元素的值6、下列叙述不正确的是()A) 调用printf函数时,必须要有输出项。

B) 使用putchar函数时,必须在之前包含头文件stdio.h。

C) 在C语言中,整数可以以十进制、八进制或十二进制的形式输入。

D) 在调用getchar函数读入字符时,可以从键盘输入字符所对应的ASCII 码。

7、以下叙述正确的是()。

A)C语言程序总是从第一个定义的函数开始执行。

B)C语言程序即允许函数嵌套调用,又允许函数嵌套定义。

C)主函数中定义的变量在整个程序中都有效。

D )凡是在函数中未指定存储类别的变量,其隐含的存储类型为自动的(auto )。

8、 设变量a 、b 、c 、d 和y 都已正确定义并赋值。

若有以下if 语句if(a<b)if(c= =d) y=0;else y=1;该语句所表示的含义是:( ) A) ⎩⎨⎧≥=<=)(1)(0b a d c b a y 且 B) ⎩⎨⎧≠≥=<=)(1)(0d c b a d c b a y 且且C) ⎩⎨⎧≠<=<=)(1)(0d c b a d c b a y 且且 D) ⎩⎨⎧≠=<=)(1)(0d c d c b a y 且9、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:( )。

信息与通信工程学院05-06-2C语言试卷(A卷)标准答案

信息与通信工程学院05-06-2C语言试卷(A卷)标准答案

天津工业大学信息与通信工程学院05-06-2学期《C语言程序设计》期末试卷(A卷)标准答案一、单选题(每题2分,共42分)1.下列字符串中不是正确的C语言标识符的是:A. longintB. AverageC. Day5D. π★2. 四个运算符>.,+优先级由高到低的顺序是:A. >.,+B. +>,.C. .+>, ★D. ,>+.3. 表达式((int)3.7+8.5)%3的值是:A. 0B. 1C. 2D. 这是一个错误的表达式,不会有值★4. 已知int i=1 , j ; 经过j=(i++,i++||i++);语句之后,j的值是:A. 1 ★B. 2C. 3D. 45. 已知int a=5; 经过语句a+=a*=a-=a;语句之后,a的值是:A. 0 ★B. 5C. 15D. 206. 程序段如下:char k=1; while (k>0) k=k+1;则以下说法正确的是:A. while循环执行32767次B. while循环执行255次C. while循环执行127次★D. while循环是死循环7.关于return语句,下列说法中不正确的是:A.函数的返回值是通过return语句获得的B.void函数的函数体内最后一条语句也可以是return语句C.return语句后面可以是常量、变量名或表达式,只要有确定的值即可D.函数的返回值也可以通过函数体内的一条给函数名赋值的语句得到★8.按照C语言的规定,下列说法不正确的是:A.实参可以是常量、变量或表达式,在传递给形参时,要求实参必须有确定的值B.形参不可以是常量C.实参的个数应该与形参一样多D.形参的值能传递给实参★9.关于C语言的控制语句,下列说法错误的是:A. 循环体可以是一个循环语句B. break能结束一个函数的调用★C. else必定与它上面最近的没有配对的if相配对,且这个if与else之间只可以有一条语句相隔D. continue语句不能使用在goto构成的循环中10. 下一函数的作用是:void fun(char a[],char b[]){ char *p=a,*q=b;for(;(*p=*q)!='\0';p++,q++);}A. 将字符串b复制到a ★B. 将字符串a复制到bC. 将字符串b连接到a中的字符串后面D. 将字符串a连接到b中的字符串后面11.#include "stdio.h"long f(int n){if(n==0||n==1) return 1;else return n*f(n-1);}main(){ printf("%ld\n",f(5)); getch( ); } 上一程序的输出结果是:A. 120 ★B. 15C. 5D. 2512.#define M(a,b) a*bmain(){printf("%d",M(1+2,3+4));getch();}上一程序的输出结果是:A. 3B. 7C. 11 ★D. 2113.int f(char *a){char *p=a;for(;;)if(*p++=='\0') break;return p-a-1;}这一函数的功能是:A. 求出指针a所指向的字符串的长度★B. 求出指针a所指向的字符串的长度-1C. 求出指针a所指向的字符串的第一个字符的ASCII码D. 求出指针a所指向的字符串的末尾一个字符的ASCII码14.main(){ char c[20]="ABCD";puts(c+2);}上一程序的输出结果是:A.CD ★B.6C.ABCDABD.ABCDCC15. (提示:'A'的ASCII码是65。

《C语言程序设计》试题库及答案

《C语言程序设计》试题库及答案

C语言程序设计习题集及答案电子信息工程学院2014.9.1内容简介本习题集是为根据嘉应学院电子信息工程学院《C语言程序设计》课程教学大纲筛选题目整理而成的。

本习题集共分10章,提供了361道选择题,85道填空题,42道编程题,题集覆盖了《C语言程序设计》的全部内容,满足嘉应学院电子信息工程学院《C语言程序设计》考试大纲的要求。

寄语亲爱的同学们:很高兴你们学习计算机的语言—C语言,她将带你进入一个全新的计算机的世界。

我是你们的老师,但我更希望是你们的朋友,为你在学习C语言的道路上提供帮助。

同学们,“攻城不怕坚,攻书莫畏难。

科学有险阻,苦战能过关。

”,学习是辛苦的,但也充满了挑战和乐趣。

我希望你们在学习C语言时,带着希望出发,体会一路的艰辛,最后满载收获而回。

朋友们,学习向来没有什么捷径可寻。

“多看、多模仿、多操作”是我能给你们的唯一建议。

祝你们学业有成。

杨久红 2014.9.1目录第一部分习题第1章C语言概述 (1)1.1选择题 (1)1.2填空题 (2)1.3编程题 (2)第2章数据的存储与运算 (3)2.1选择题 (3)2.2填空题 (6)2.3编程题 (7)第3章最简单的程序设计-顺序程序设计 (8)3.1选择题 (8)3.2填空题 (13)3.3编程题 (14)第4章选择结构程序设计 (15)4.1选择题 (15)4.2填空题 (19)4.3编程题 (20)第5章循环结构程序设计 (21)5.1选择题 (21)5.2填空题 (29)5.3编程题 (30)第6章利用数组处理批量数据 (32)6.1选择题 (32)6.2填空题 (37)6.3编程题 (38)第7章用函数实现模块化程序设计 (40)7.1选择题 (40)7.2填空题 (52)7.3编程题 (57)第8章善于使用指针 (58)8.1选择题 (58)8.2填空题 (70)8.3编程题 (71)第9章结构体 (72)9.1选择题 (72)9.2填空题 (73)9.3编程题 (74)第10章利用文件保存数据 (75)10.1选择题 (75)10.2填空题 (77)10.3编程题 (79)第二部分参考答案第1章C语言概述 (81)1.1选择题 (81)1.2填空题 (81)1.3编程题 (81)第2章数据的存储与运算 (81)2.1选择题 (81)2.2填空题 (82)2.3编程题 (82)第3章最简单的程序设计-顺序程序设计 (83)3.1选择题 (83)3.2填空题 (83)3.3编程题 (83)第4章选择结构程序设计 (84)4.1选择题 (84)4.2填空题 (85)4.3编程题 (85)第5章循环结构程序设计 (87)5.1选择题 (88)5.2填空题 (88)5.3编程题 (88)第6章利用数组处理批量数据 (95)6.1选择题 (95)6.2填空题 (95)6.3编程题 (95)第7章用函数实现模块化程序设计 (100)7.1选择题 (100)7.2填空题 (100)7.3编程题 (100)第8章善于使用指针 (104)8.1选择题 (104)8.2填空题 (104)8.3编程题 (104)第9章结构体 (106)9.1选择题 (106)9.2填空题 (106)9.3编程题 (106)第10章利用文件保存数据 (107)10.1选择题 (107)10.2填空题 (107)10.3编程题 (107)第一部分习题第1章C语言概述1.1选择题1.以下说法中正确的是( )。

2008年9月全国计算机等级考试二级C语言笔试试卷及解析

2008年9月全国计算机等级考试二级C语言笔试试卷及解析

答案:C
详细解答:该知识点是考查了二分查找。二分查找:对于长度为n的线性表, 在最坏情况进行 log2n 次。 4)下列叙述中正确的是
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续 的。
B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构。
C)顺序存储结构能存储有序表,链式存储结构不能存储有序表。
2008 年 9 月全国计算机等级考试二级笔试试卷 C 语言程序设计
(考试时间 90 分钟,满分 100 分)
1)栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次放入栈 ,然后再依次出栈,则元素的顺序是:
A) 12345ABCDE B) EDCBA54321
C) ABCDE12345 D) 54321EDCBA 答案:B
详细解答:该知识点是考查了栈的先进后出,是我们公共基础的重点考点,在 公共基础的 10 页纸上多次强调。栈和队列是每年必考的题目。
2)下列叙述中正确的是
A)循环队列有对头和对尾两个指针,因此,循环队列是非线性结构
B)在循环队列中,只需要队列头指针就能够反映队列中元素的动态变化情况
C)在循环队列中,只需要队列头指针就能够反映队列中元素的动态变化情况
由关系 R 和 S 通过运算得到关系 T,则所使用的运算为 A)笛卡尔积 B)交 C)并 D)自然连接 答案:D 详细解答:该知识点是考查了关系的运算,是我们公共基础的常考的题目。考 试中一般比较多的是考到了笛卡尔积、交。这个地方考了自然连接的运算。 11)以下叙述中正确的是( ) A) C 语言的基本组成单位是语句 B) C 程序中的每一行只能写一条语句 C) 简单 C 语
D)循环队列中的元素的个数是有队头和队尾指针共同决定的。

C语言期末考试卷及答案

C语言期末考试卷及答案

二、判断题:(请在正确的叙述前打“√”,错误的打“×”,每题2分,共20分)()1.C语言中的变量必须先定义后使用。

()2.一个C程序的main函数,必须放在程序的所有函数的最前面,应为程序总是从它开始执行的。

()3.注释是多余的信息,会干扰计算机执行代码,因此程序里不要写注释。

()4.C语言中,大小写都是一样的,例如Main与main是一样的。

()5.C程序中的任何语句,包括空语句,都要用;结束。

()6.while语句和do-while语句都是实现循环的语句。

()7.在计算一个表达式的值的时候,要注意各个运算符的优先级和结合性。

()8.C程序的代码可以用word编辑并直接运行。

()9.表达式”a=b=c=5”的运算方向是从左向右。

()10.C语句也可以使用中文编写。

三、画程序流程图:(10分)根据下面的代码,画出相应的程序流程图。

#include <stdio.h>main(){int a,b,c,max;printf("Input a,b,c:");scanf("%d,%d,%d",&a,&b,&c);if(a>b)max=a;elsemax=b;if(max<c)max=c;printf("max=%d\n",max);}四、程序分析(共25分)1.写出下列程序运行结果。

(10分)#include <stdio.h>main(){int a=10,b=8,c=6;printf("a=%d,b=%d,c=%d\n",a,b,c); c=a>b?a++:++b;printf("a=%d,b=%d,c=%d\n",a,b,c); }运行结果:2.写出下列程序运行结果。

(15分)#include <stdio.h>main(){int a[5]={0},i;for(i=0;i<3;i++){a[i]=i*2;}for(i=0;i<3;i++){printf("a[%d]=%d\n",i,a[i]);}}运行结果:五、编写程序(25分)1.编写程序:从键盘输入一个矩形的长和宽,求其面积(结果要求保留2位小数)。

C语言程序设计试卷含答案

C语言程序设计试卷含答案

C语言程序设计试卷含答案一、选择题(共20题,每题2分,共40分。

下面每题后面用小括号内标注了正确答案)1. 下列关键字中,用于定义变量的是(A)A. intB. ifC. whileD. for2. 变量的作用域是指变量的(C)A. 大小B. 类型C. 可访问范围D. 值3. 下列语句中,用于输出字符的是(B)A. scanfB. printfC. inputD. output4. 已知整型变量a和b,那么a += b; 等价于(D)A. a = a + b;B. a -= b;C. a = a - b;D. a = a + b;5. 在C语言中,用于表示“不等于”的运算符是(C)A. =B. ==C. !=D. >=6. 下面哪个for循环语句是正确的(A)A. for(int i=0; i<10; i++)B. for(int i<10; i++)C. for(int i=0; i<10)D. for(i=0; i<10; i++)7. 下列选项中,表示“或”运算符的是(D)A. &B. &&C. |D. ||8. 在C语言中,用于声明宏定义的关键字是(B)A. defineB. #defineC. constD. int9. 如果要判断一个整数是否为负数,正确的if条件语句是(C)A. if(n > 0)B. if(n => 0)C. if(n < 0)D. if(n <= 0)10. 下列哪个不是C语言的基本数据类型(D)A. intB. floatC. charD. string11. 下列关键字中,用于定义函数的是(C)A. mainB. includeC. voidD. for12. 在C语言中,表示“或者”的条件语句是(B)A. ifB. else ifC. switchD. while13. C语言中的“++”运算符表示(A)A. 自增B. 自减C. 相加D. 相减14. 下列哪个语句用于在C语言中声明字符类型的变量(C)A. String name;B. var name;C. char name;D. character name;15. 下列哪个不是C语言的关键字(D)A. enumB. longC. doubleD. true16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)A. exitB. breakC. endD. continue17. 下列哪个函数用于从标准输入读取一个整数(A)A. scanfB. printfC. getsD. puts18. 在C语言中,用于声明一个指针变量的关键字是(A)A. int*B. pointC. newD. pointer19. 下列哪个运算符用于获取变量在内存中的地址(B)A. &B. *C. #D. %20. 下列哪个函数调用可以输出字符串(A)A. printf("Hello World!");B. scanf("Hello World!");C. gets("Hello World!");D. puts("Hello World!");二、填空题(共5题,每题4分,共20分。

广工C语言试卷及答案

广工C语言试卷及答案
do
{ a++; }while(x,x--);
}
则语句a++;执行的次数是C。
A) 0B)1 C) 2D)无限次
23.以下程序中,while循环的循环次数是D。
void main()
{ int i=0;
while(i<10)
{ if(i<1) continue;
if(i==5) break;
i++;
printf(“\n”);}
13.执行以下程序,输出结果是6 (18)。
void main()
{int x[8]={1,2,3,4,5,6,0,0}, *s;
s=x+3;
printf(“%d\n”, s[2]);
}
14.执行以下程序,输出结果是2,1 (19)。
void swap( int * int *pt2)
C) char *s =“Beijing”; D) char *s ; s=“Beijing”;
28.有如下程序,执行后输出的结果是C。
voidf(int x, int y)
{int t;
if(x<y) {t=x;x=y;y=t;}
}
void main()
{int a=1,b=3,c=2;
f(a,b); f(a,c); f(b,c);
B)文件由二进制数据序列组成,C语言只能读写二进制文件
C)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
D)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
二、填空题(每空2分,共40分)
1.若输入字符串:abcde<回车>,则以下while循环体将执行(1)0次。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单选题(每题2分,共30分。

请将正确的答案标号画上○)
D. A. D. D. A.
B. A. B. B. D.
C. C. B. B.
D.
二、填空题(每空3分,共30分)
1. 2
2. 0
3. 1 2 3 4 5
4. ACEG
5. 9
6. 求x四舍五入至小数点后n位的值并返回此值
7. 求二维数组x的主对角线各元素的平均值并返回此值
8. sin(x) [0,π/2] 梯形法
三、改错题(每题5分,共15分。


1.将第三行的“year%4!=0”中的“!=”改为“==”
或将第一对Y、N对调
2. 将“if(a=0)return;”中的“=”改为“==”
3. 将(y+x)/(y-x)中的所有x、y都加上一对()
或只将最后一个x加上一对()
四、分析程序回答问题(5分)
100 实际所输入图书的本数 tushu.dat
五、编程题(共20分)
1.参考答案
/* 冒泡法排序*/
void f(int a[],int n)
{
int *p,*q=a+n;
int i,t;
for(i=0;i<n-1;i++)
{
for(p=a+i+1;p<q;p++)
if(a[i]>*p) {t=a[i];a[i]=*p;*p=t;} }
}
2.参考答案:
/* 解方程对分法*/
#include "stdio.h"
#include "math.h"
#define JD 1e-6
double f(double x)
{ return 4*x*x*x-2*x*x+8*x-10;}
void p(double x)
{printf("x=%f",x);getch();exit(0);}
void main(void)
{
double x,x1,x2,y,y1,y2;
do{ printf("input x1 x2 ");
scanf("%lf%lf",&x1,&x2);
y1=f(x1); y2=f(x2);
if(fabs(y1)<JD) p(x1);
if(fabs(y2)<JD) p(x2);
} while(y1*y2>0.0);
for(;fabs(x2-x1)>JD;)
{ x=(x1+x2)/2.0;
y=f(x);
if(fabs(y)<JD) p(x);
if(f(x1)*y<0.0) x2=x; else x1=x;
printf("x1=%f x2=%f x=%f\n",x1,x2,x);
}
getch();
}。

相关文档
最新文档