06软件学院C语言样卷

合集下载

C语言实验试卷(样卷)

C语言实验试卷(样卷)

课程名称C语言程序设计A 适用年级XXXX 考试时间60 分钟试卷编号:XXX考前准备:请在E盘根目录下建一个以自己学号命名的文件夹,试题中的所有程序所对应的工程目录都创建在学号文件夹下。

第1题:改错题(30分)要求:该程序文件中有1~5个错误,请改正程序中的错误,使程序能输出正确的结果。

不得增加行或删除行,也不得更改程序的结构。

否则为0分。

该程序C01.c的功能:任意给定一个正整数,输出小于该正整数的所有素数,每行K(可以任意设定)个,同一行相邻数之间用制表符隔开。

第2题:编程题1(30分)题目描述:输入正方体的长宽高l,w,h。

编写函数VOL计算其体积及三个面x*y,x*z,y*z的面积。

要求:编程题对应的工程名为“prog1”,工程目录放在学号文件夹下。

第3题:编程题2(40分)题目描述:用函数SUM完成以下功能:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),a的值和相加的个数由键盘控制。

测试用例:输入:5 5输出:23039输入:2 3输出:292输入:6 5输出:40754要求:编程题对应的工程名为“prog2”,工程目录放在学号文件夹下,主程序文件的头部加入如下注释:/*学号:XXX姓名:XXX课号:XXX座位号:XXX试卷编号:XXX*/上面的XXX应填入与考生对应的真实信息,否则,视同作弊《参考答案》第1题:改错题#include<stdio.h>void isSuShu(int num) //void改为int{int K=num/2;int i;for(i=2;i<=K;i++){if(num%i=0) //差一个等号return 0;}return 1;}void main(){int N,K,i,count=0;printf("请输入一个正整数:");scanf("%d",&N);getchar();printf("请输入每行显示的数的个数:");scanf("%d",K);//k改为&Kgetchar();printf("小于%d的素数如下:\n",N);for(i=2;i<N;i++){if(isSuShu(i)==0)//0改为1或去掉==0{count=0; //改为count++;printf("%d\t",i);if(count%K==0)printf("\n");}}}。

C语言样卷参考

C语言样卷参考

C语言一、填空题(20分)1.在C语言系统中,分别写出内部静态型和外部静态型变量的存储类型的标识符、生存期和有效域。

标识符生存期有效域内部静态型外部静态型2.用逻辑表达式表示下述关系。

a是带有小数的正数:___________________a是大写西文字符:________________________3.float a[50],*p;p=a;若printf(“%x”,p);显示ff1d,则printf(“%x”,p+2);显示_______________;printf(“%x”,&a[3]);显示______________。

4.在C语言程序中,若主函数main()带有形参,main(int argc,char *argv[]),则此函数经编译后的可执行文件在执行时有_________________________________________,其中argc表示__________________________________,argv[0]表示_____________________________________,argv[i](1≤i≤argc-1)表示_______________________。

5.用fopen()函数打开一个文件成功,则开辟两个区:___________和____________,并返回_______________,格式:____________________________________。

6.用sub_and_sort()实现如下功能:对一指针指向的字符串实现按字符由小到大排序后,返回截取其左边m个字符构成的一个新字符串,则函数sub_and_sort()的定义方式为:________________________________。

二、指出下列程序中的错误,并予以改正(错误处加下划线,并说明错误的原因。

(15分)1.下列程序实现输入变量x,并显示x的值。

c语言大学试题及答案

c语言大学试题及答案

c语言大学试题及答案一、选择题(每题2分,共20分)1. 下列哪个是C语言的标准输入输出库函数?A. printf()B. scanf()C. both A and BD. None of the above答案:C2. 在C语言中,以下哪个是正确的字符串声明?A. char str[10] = "Hello";B. char str = "Hello";C. Both A and BD. None of the above答案:A3. 以下哪个是C语言中的合法标识符?A. 2variableB. variable-nameC. forD. None of the above答案:B4. 在C语言中,以下哪个语句将一个整数赋值为10?A. int num = 10;B. int = num 10;C. int num = = 10;D. None of the above答案:A5. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. Both A and BD. None of the above答案:C二、填空题(每题2分,共20分)6. 在C语言中,用于定义一个字符的关键字是________。

答案:char7. 一个C程序的执行从________函数开始。

答案:main8. 在C语言中,用于计算两个数的乘积的运算符是________。

答案:*9. 如果一个变量声明为int,它的取值范围是________。

答案:-32768 到 32767(对于16位系统)10. 在C语言中,用于结束程序的库函数是________。

答案:exit三、简答题(每题10分,共30分)11. 解释C语言中数组的声明和初始化方法。

答案:在C语言中,数组的声明包括指定数组的类型和名称,以及它包含的元素数量。

例如,int numbers[10]; 声明了一个包含10个整数的数组。

软件工程专业C语言试卷(A卷)

软件工程专业C语言试卷(A卷)

南阳师范学院2008-2009学年第一学期计算机与信息技术学院软件工程专业2008年级《C程序设计》期终考试试卷(A)(所有试题答案仅写在答题纸上有效)一、单项选择题(每题1分,共30分)1、一个C语言程序是由( B )组成的。

A、一个主程序和若干个子程序B、函数C、若干个过程D、若干个子程序2、一个C程序的执行是从( B )。

A、本程序的第一个函数开始,到本程序文件的最后一个函数结束B、本程序的main()函数开始,到main()函数结束C、本程序的main()函数开始,到本程序文件的最后一个函数结束D、本程序的第一个函数开始,到本程序main()函数结束3、以下叙述中正确的有( B )。

A、C程序中每行只能写一条语句B、C语言本身没有输入输出语句C、对C程序进行编译时可以找出语法错误和注释中拼写错误D、在C程序中,注释说明只能位于一条语句的后面4、C++源程序名的后缀是( B)A、exeB、.cppC、.objD、.c5、下列叙述中错误的是(B)A、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输出C、算法正确的程序可以有零个输入D、算法正确的程序对于相同的输入一定有相同的结果。

6、定义双精度浮点型变量应使用(C )A、long intB、floatC、doubleD、char7、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C)A、必须为字母B、必须为下划线C、必须为字母或下划线D、可以是字母、数字和下划线中任一种字符8、下面正确的字符常量是( C)A、"c"B、"\\"C、'w'D、’xy’9、若有代数式bcae3,则不正确的C语言表达式是( C )A、a/b/c*e*3B、3*a*e/b/cC、3*a*e/b*cD、a*e/c/b*310、putchar函数可以向终端输出一个(CA、整型变量B、实型变量C、字符D、字符串11、若有以下定义:char a;int b;float c;double d则表达式a*b+c-d值的类型为(D )A、floatB、intC、charD、double12、以下说法正确的是( D)A、C语言中不能使用do-while语句构成的循环B、do-while语句构成的循环必须用break语句才能退出C、do-while语句构成的循环,当while后圆括号内的表达式值为非0时结束循环D、do-while语句构成的循环,当while后的圆括号内的表达式值为0时结束循环13、对于for(表达式1;;表达式3)可理解为(D )A、for(表达式1;表达式1;表达式3)B、for(表达式1;表达式3;表达式3)C、for(表达式1;0;表达式3 )D、for(表达式1;1;表达式3)14、有下列程序#include<stdio.h>void main(){ int a=0,b=0;a=10;b=20;printf(“a+b=%d\n”,a+b);}程序运行后的输出结果是(D )A、出错B、30C、a+b=10D、a+b=3015、下列叙述中错误的是(D )A、C程序中的#include和#define行均不是C语句B、除逗号运算符外,赋值运算符的优先级最低C、C程序中,j++;是赋值语句D、C程序中,+、-、*、/、%是算术运算符,可用于整型数和实型数的运算16、有下列程序#include<stdio.h>void main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf(“%d,%d,%d\n”,x,y,z);}程序运行后输出结果是( A)A 、2,3,1 B、2,3,2 C、2,3,3 D、2,2,117、下列选项中,当x为大于1的奇数时,值为0的表达式是(A )A、x%2==0B、x/2C、x%2!=0D、x%2==118、下列叙述错误的是(B)A、C语句必须以分号结束B、复合语句在语法上被看作一条语句C、空语句出现在任何位置都不会影响程序运行D、赋值表达式未尾加分号就构成赋值语句。

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案

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语言题库及详解答案百度文库

c语言题库及详解答案百度文库

c语言题库及详解答案百度文库C语言作为一门广泛应用的编程语言,其题库及详解答案在百度文库中有着丰富的资源。

以下内容将对C语言题库中的一些典型题目进行简要的介绍,并提供相应的详解答案。

1. 基础语法题- 题目:请写出一个C语言的Hello World程序。

- 解答:C语言中最基本的程序是打印"Hello World"。

以下是一个简单的示例:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量和数据类型题- 题目:如何声明一个整型变量并赋值?- 解答:在C语言中,声明一个整型变量并赋值可以通过以下方式实现:```cint number = 10;```3. 控制结构题- 题目:使用if语句判断一个数是否为正数。

- 解答:if语句用于条件判断,以下是一个示例代码:```cint num = 5;if (num > 0) {printf("%d is positive.\n", num);}```4. 循环结构题- 题目:使用for循环打印1到10的数字。

- 解答:for循环可以用于重复执行代码块。

以下是打印1到10的示例代码:```cfor (int i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");```5. 数组和字符串题- 题目:如何声明并初始化一个整型数组?- 解答:在C语言中,声明并初始化一个整型数组可以通过以下方式:```cint numbers[] = {1, 2, 3, 4, 5};```6. 函数题- 题目:编写一个函数,计算两个整数的和。

- 解答:函数是C语言中实现代码复用的一种方式。

以下是一个计算两个整数和的函数示例:```cint add(int a, int b) {return a + b;}```7. 指针题- 题目:使用指针交换两个变量的值。

C语言与软件工程实践结合的考试

C语言与软件工程实践结合的考试

C语言与软件工程实践结合的考试(答案见尾页)一、选择题1. C语言是在软件开发中常用的一种编程语言,它的基本语法和数据类型包括()。

A. 整数B. 浮点数C. 字符串D. 结构体2. 在C语言中,结构体是由不同类型的数据成员组成的复合数据类型,以下哪个不是结构体的组成部分()。

A. 整数B. 浮点数C. 字符串D. 枚举3. 在C语言中,文件操作通常包括打开文件、读写文件和关闭文件等步骤。

以下关于文件操作的描述,错误的是()。

A. 使用fopen函数打开一个已存在的文件时,如果文件不存在,则返回NULL。

B. 使用fread函数从文件中读取数据时,可以一次读取多个字节的数据。

C. 文件的读写位置可以通过fseek函数设置。

D. 关闭文件后,文件的内容会被自动保存到磁盘上。

4. 在C语言中,字符串是一系列字符的集合,以下哪个是字符串的长度?A. 字符个数B. 字符编码方式C. 字符串中空字符的数量D. 字符串中可打印字符的数量5. 在C语言中,位运算是一种基本的运算方式,以下哪个不是位运算符?A. '>'B. '<'C. '&'D. '+='6. 在C语言中,动态内存分配是指在程序运行时动态地分配和释放内存,以下哪个函数用于动态内存分配?A. mallocB. freeC. scanfD. printf7. 在C语言中,标准输入输出库(stdio.h)提供了多个输入输出函数,以下哪个函数用于从标准输入设备读取一个字符?A. getcharB. putcharC. scanfD. printf8. 在C语言中,指针是一种重要的数据类型,以下哪个不是指针运算符?A. &B. *C. [ ]D. ->9. 在C语言中,数组是一组具有相同类型的元素的集合,以下哪个是数组的初始化表达式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = {1, 2, 3};C. int arr[5] = {1, 2, 3, 4};D. int arr[5] = {1, 2, 3, 4, 5, 6};10. 在C语言中,函数是一段完成特定功能的代码块,以下哪个是函数声明的语法?A. int func(int a, int b);B. void func(int a, int b);C. int func(char *str);D. void func(char *str, int num);11. C语言中哪一行代码可以正确地声明并初始化一个整型变量?A. int a = 10;B. int a = 10, b = 20;C. int *a = &b;D. int a[5] = {1, 2, 3, 4, 5};12. 在C语言中,结构体变量的定义和初始化可以通过以下哪种方式完成?A. 定义结构体类型时,同时说明其成员B. 先定义结构体类型,再说明其成员C. 只定义结构体类型,不说明其成员D. 只说明结构体成员,不定义结构体类型13. 在C语言中,函数指针的使用可以带来哪些优势?A. 方便传递函数作为参数B. 实现数据的封装和隐藏C. 提高代码的可重用性D. A和B14. 在C语言中,动态内存分配函数`malloc`的功能是什么?A. 在程序运行时分配内存B. 在程序启动时分配内存C. 分配固定大小的内存块D. 从已分配的内存块中释放内存15. 在C语言中,文件操作中读取文件内容的函数是哪个?A. `fopen`B. `fclose`C. `fgets`D. `fread`16. 在C语言中,哪个关键字用于结束一个for循环?A. `break`B. `continue`C. `return`D. `exit`17. 在C语言中,什么是全局变量?它有哪些特点?A. 全局变量可以在程序的任何地方访问B. 全局变量可以被函数内部或外部其他文件访问C. 全局变量的生命周期与程序相同D. 全局变量会被操作系统回收18. 在C语言中,什么是递归?请举例说明递归函数的基本结构。

二级C语言真题2006年09月

二级C语言真题2006年09月

二级C语言真题2006年09月一、选择题下列各题A)、B)、C)、D)四个选项中,只有—个选项是正确的。

1、下列选项中不符合良好程序设计风格的是______。

A) 源程序要文档化B) 数据说明的次序要规范化C) 避免滥用goto语句D) 模块设计要保证高耦合、高内聚2、从工程管理角度,软件设计—般分为两步完成,它们是______。

A) 概要设计与详细设计B) 过程控制C) 软件结构设计与数据设计D) 程序设计与数据设计3、下列选项中不属于软件生命周期开发阶段任务的是______。

A) 软件测试B) 概要设计C) 软件维护D) 详细设计4、在数据库系统中,用户所见数据模式为______。

A) 概念模式B) 外模式C) 内横式D) 物理模式5、数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。

A) 编码设计B) 测试阶段C) 运行阶段D) 物理设计下列操作中正确的是______。

A) T=R∩S B) R∪SC) T=R×S D) T=R/S7、下列叙述中正确的______。

A) 一个算法的空间复杂度大,则其时间复杂度也必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一今算法的时间复杂度大,则其空间复杂度必定小D) 上述三种说法都不对8、在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。

A) 63 B) 64C) 6 D) 79、数据库技术的根本目标是解决数据的______。

A) 存储问题B) 共享问题C) 安全问题D) 保护问题进行中序遍历的结果是______。

A) ACBDFEG B) ACBDFGEC) ABDCGEF D) FCADBEG11、下列叙述错误的是______。

A) 一个C语言程序只能实现—种算法B) C程序可以由多个程序文件组成C) C程序可以由—个或多个函数组成D) 一个C函数可以单独作为—个C程序文件存在12、下列叙述中正确的是______。

c语言题库及答案详解

c语言题库及答案详解

c语言题库及答案详解C语言题库及答案详解C语言,作为一种广泛使用的编程语言,以其高效、灵活和跨平台的特性,在软件开发、系统编程等领域占据着重要地位。

为了帮助学习者更好地掌握C语言,本文将提供一些常见的C语言题目及其详细解答。

1. 基础语法题- 题目:请编写一个C程序,输出"Hello, World!"。

- 答案:以下是一个简单的C程序示例,用于输出"Hello,World!"。

```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量与数据类型题- 题目:声明一个整型变量`a`,初始化为10,并打印其值。

- 答案:在C语言中,可以使用`int`关键字来声明整型变量。

以下是实现题目要求的代码。

```c#include <stdio.h>int main() {int a = 10;printf("The value of a is: %d\n", a);return 0;}```3. 控制结构题- 题目:编写一个程序,判断输入的年份是否为闰年。

- 答案:闰年的判断规则是:如果年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。

```c#include <stdio.h>int main() {int year;printf("Enter a year: ");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {printf("%d is a leap year.\n", year);} else {printf("%d is not a leap year.\n", year);}return 0;}```4. 数组与循环题- 题目:编写一个程序,求一个整数数组中所有元素的和。

大学c语言考试题及答案

大学c语言考试题及答案

大学c语言考试题及答案C语言是计算机科学与技术专业学生必须掌握的一门编程语言,其考试通常包括理论知识和编程实践两个部分。

以下是一套模拟的大学C语言考试题及答案,供同学们参考。

# 大学C语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是C语言的标准输入输出库?- A. `<stdio.h>- B. `<stdlib.h>`- C. `<math.h>`- D. `<string.h>`答案:A2. C语言中,以下哪个是正确的字符串定义方式?- A. `char str[] = "Hello";`- B. `char str = "Hello";`- C. `int str = "Hello";`- D. `float str = "Hello";`答案:A3. 在C语言中,`printf`函数属于哪个库?- A. `math.h`- B. `stdio.h`- C. `stdlib.h`- D. `string.h`答案:B4. 以下哪个是C语言的关键字?- A. `function`- B. `class`- C. `int`- D. `namespace`答案:C5. C语言中,以下哪个语句用于定义一个变量?- A. `int var;`- B. `var int;`- C. `int = var;`- D. `var = int;`答案:A...(此处省略其他选择题)二、填空题(每空2分,共20分)1. 在C语言中,一个完整的程序至少包含一个______函数。

答案:main2. 用于计算两个数的乘积的运算符是______。

答案:*3. C语言中,用于定义数组的关键字是______。

答案:array 或者不填(取决于具体要求)4. 语句 `for(int i = 0; i < 10; i++)` 循环执行的次数是______。

大学c语言基本考试题及答案

大学c语言基本考试题及答案

大学c语言基本考试题及答案# 大学C语言基本考试题及答案一、选择题1. C语言中,用于定义一个结构体的关键字是()。

A. `int`B. `struct`C. `double`D. `char`答案:B2. 在C语言中,哪个函数用于计算并返回字符串的长度?A. `strlen()`B. `strcpy()`C. `strcat()`D. `strrev()`答案:A3. 如果`int a = 10;`,表达式 `a++` 的值是多少?A. 9B. 10C. 11D. 12答案:B二、填空题1. C语言中,用于执行条件判断的语句是 __________。

答案:if2. 当需要频繁修改数组中的元素时,应使用 __________ 数组,因为它的元素在内存中是连续存储的。

答案:一维3. 在C语言中,函数的返回值通过 __________ 关键字来指定。

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

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

数组是相同数据类型的元素的集合,它在内存中是连续存储的。

指针可以被重新赋值为其他地址,而数组的大小和地址在定义后是固定的。

2. 描述C语言中函数的定义和调用过程。

答案:函数定义包括返回类型、函数名、参数类型和数量以及函数体。

调用函数时,程序会跳转到函数定义的代码块执行,完成所需的操作后,通过return语句返回到调用点继续执行。

四、编程题1. 编写一个C语言程序,实现对两个整数进行交换的功能。

```c#include <stdio.h>void swap(int *x, int *y) {int temp = *x;*x = *y;*y = temp;}int main() {int a, b;printf("Enter two numbers: ");scanf("%d %d", &a, &b);printf("Before swap: a = %d, b = %d\n", a, b); swap(&a, &b);printf("After swap: a = %d, b = %d\n", a, b);return 0;}```2. 编写一个C语言程序,计算并输出斐波那契数列的前10项。

2006级软件工程C语言试题(B卷)

2006级软件工程C语言试题(B卷)

试卷编号:课程名称:程序设计语言考试时间: 110 分钟课程代码:8422111试卷总分: 100 分一、单项选择题(每小题2分,共计20分)1.以下对一维数组的定义中,正确的是( ) 。

A) #define MAX 5 B) int MAX=5;int a[MAX]; int a[MAX];C) int MAX; D) #define MAX 5;Scanf(“%d”,&MAX); int a[MAX];int a[MAX];2.以下程序运行时输入8,则程序运行后t的值是( )。

main(){ int t;scanf(“%d”,&t);if(t-->=8)printf(“%d\n”,t--) ;elseprintf(“%d\n”,t++) ;}A)9 B)8 C)7 D)63.有以下程序段main(){ int i=1,sum=0,n;scanf(“%d”,&n);do{ i+=2;sum+=i ;}while(i!=n);printf(…%d”,sum);}若使程序的输出值为8,则应该从键盘输入的n的值是( )。

A) 1 B) 3 C) 5 D) 74.若有以下定义及语句:struct s1{char a[3];int num;}t={‘a’,’b’,’c’,4},*p;p=&t;则输出值为c的语句是( )。

A) printf(“%c\n”,p->t.a[2]);B) printf(“%c\n”,(*p).a[2]);C) printf(“%c\n”,p->a[3]);D) printf(“%c\n”,(*p).t.a[2]);5.C语言规定:在一个源程序中,main函数的位置( )。

A)必须在程序的最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在程序的最后6.已知 int i,a; 执行语句”i=(a=2*3,a*5),a+6;”后,变量a的值是()。

2006年(秋)江苏二级C语言笔试试卷

2006年(秋)江苏二级C语言笔试试卷

江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试二级C 语言程序设计2006 年(秋)笔试试卷(考试时间120 分钟,满分60 分)第一部分计算机基础知识(1)在下列有关集成电路的叙述中,错误的是__________。

A)集成电路的规模是根据其所包含的电子元件数目进行划分的B)大规模集成电路一般以功能部件和子系统为集成对象C)现代集成电路使用的半导体材料主要是硅(Si)D)集成电路技术发展很快,至2005 年初已达到线宽0.001μm 的工艺水平(2)在下列有关通信技术的叙述中,错误的是__________。

A)电视节目的传输目前采用的还都是模拟传输技术B)模拟调制的方法有3 种,即调频、调幅和调相C)数字信号不经过调制就在信道上直接进行传输,称为“基带传输”D)用户使用MODEM 通过电话线上网时,采用的是数字调制技术(3)所谓“变号操作”,是指将一个整数变成绝对值相同但符号相反的另一个整数。

假设使用补码表示的8 位整数X=10010101,则经过变号操作后,结果为__________。

A)01101010 C)11101010 B)00010101 D)01101011(4)若计算机内存中连续2 个字节的内容其十六进制形式为34 和64,则它们不可能是__________。

A)2 个西文字符的ASCII 码C)1 个16 位整数B)1 个汉字的机内码D)图像中1 个或2 个像素的编码(5)在下列关于指令和指令系统的叙述中,错误的是__________。

A)指令是构成程序的基本单元,它用来规定计算机执行什么操作B)指令由操作码和操作数组成,操作数的个数由操作码决定C)Intel 公司Pentium 系列的各种微处理器,其指令完全不同D)Pentium 处理器的指令系统包含数以百计的不同指令(6)在下列关于BIOS 及CMOS 存储器的叙述中,错误的是__________。

A)BIOS 是PC 机软件最基础的部分,包含POST 程序、CMOS 设置程序、系统自举程序等B)BIOS 存放在ROM 存储器中,通常称为BIOS 芯片,该存储器是非易失性的C)CMOS 中存放着基本输入输出设备的驱动程序和一些硬件参数,如硬盘的数目、类型等D)CMOS 存储器是易失性的,在关机时由主板上的电池供电(7)PC 机的机箱外面常有很多接口,用来连接外围设备。

软件工程c语言试题及答案详解

软件工程c语言试题及答案详解

软件工程c语言试题及答案详解1. 题目一:编写一个C语言函数,实现字符串的反转。

答案详解:```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);char temp;for (int i = 0; i < len / 2; i++) {temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello World";reverseString(str);printf("Reversed String: %s\n", str);return 0;}```2. 题目二:编写一个C语言程序,计算并输出100以内所有整数的平方。

答案详解:```c#include <stdio.h>int main() {for (int i = 1; i <= 100; i++) {printf("%d squared is %d\n", i, i * i);}return 0;}```3. 题目三:编写一个C语言函数,判断一个整数是否为素数。

答案详解:```c#include <stdio.h>#include <stdbool.h>bool isPrime(int num) {if (num <= 1) return false;for (int i = 2; i * i <= num; i++) {if (num % i == 0) return false;}return true;}int main() {int num = 29;if (isPrime(num)) {printf("%d is a prime number.\n", num);} else {printf("%d is not a prime number.\n", num); }return 0;}```4. 题目四:编写一个C语言程序,实现数组的排序。

c语言大学考试题及答案

c语言大学考试题及答案

c语言大学考试题及答案一、选择题(每题4分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2beginB. _intC. intD. begin$答案:B2. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B3. 在C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Moonshot";B. char str[] = 'Moonshot';C. char str[] = "Moonshot'; // 缺少一个双引号D. char str[] = {"Moonshot"};答案:A4. 下列哪个选项是C语言中的合法整型常量?A. 012B. 0x1AC. 01.2D. 0b1010答案:B5. 在C语言中,以下哪个关键字用于定义函数?A. structB. intC. voidD. return答案:C二、填空题(每题4分,共20分)1. C语言中,用于定义一个结构体的关键字是______。

答案:struct2. 在C语言中,______运算符用于判断两个表达式是否相等。

答案:==3. C语言中,______函数用于将字符串从标准输入读入到字符数组中。

答案:gets4. 定义一个指针变量,用来指向一个整型变量,应该使用______。

答案:int *5. 在C语言中,______关键字用于定义一个枚举类型。

答案:enum三、简答题(每题10分,共20分)1. 请简述C语言中数组和指针的区别。

答案:数组是一种数据结构,用于存储相同类型的多个元素,而指针是一种变量,它的值是另一个变量的地址。

数组名本身代表数组的首地址,但数组名不能作为左值,而指针可以作为左值,可以改变其指向的地址。

2. 请解释C语言中函数原型声明的作用。

答案:函数原型声明用于告诉编译器函数的名称、返回类型、参数类型和数量,但不包含函数体。

软件学院c++2006期末考试A卷

软件学院c++2006期末考试A卷

C++第二学期期末考试试卷,软件学院2006级一、选择题(每小题2.5分,共50分)(1)栈和队列的共同特点是()A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素 D )没有共同点(2)链表不具有的特点是()A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素D)所需空间与线性表长度成正比(3)C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是( )A)增加了一些新的运算符B)允许函数重载,并允许设置缺省参数C)规定函数说明符必须用原型D)引进了类和对象的概念(4)下列程序的执行结果为#include<iostream. h>void main(){ int a=3,b=0;int*p=&a:b=+a++;cout<<*P<<”,”<<b<<endl;}A)3,4 B)4,3 C)3,4 D)4,4(5)决定C++语言中函数的返回值类型的是( )A) return语句中的表达式类型B)调用该函数时系统随机产生的类型C)调用该函数时的主调用函数类型D)在定义该函数时所指定的数据类型(6)对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是()A)公有类型B)私有类型C)保护类型D)友元类型(7)在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是A)友元函数B)虚函数C)构造函数D)析构函数(8)类的析构函数的作用是A)一般成员函数的初始化B)类的初始化C)对象的初始化D)删除类创建的对象(9)下列说法正确的是A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B)内联函数在编译时是将该函数的月标代码插入每个调用该函数的地方C)类的内联函数必须在类体内定义D)类的内联函数必须在类体外通过加关键字inline定义(10)在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是()A)派生类的对象可以赋给基类的对象B)派生类的对象可以初始化基类的引用C)派生类的对象可以直接访问基类中的成员D)派生类的对象的地址可以赋给指向基类的指针(11)下列关于多态性的描述,错误的是()A)C++语言的多态性分为编译时的多态性和运行时的多态性B)编译时的多态性可通过函数重载实现C)运行时的多态性可通过模板和虚函数实现D)实现运行时多态性的机制称为动态绑定(12) 下面程序的运行结果为()#include<iostream. h>class A{public:A(){cout<<”1”;}~A(){cout<<”2”;}}class B:public A{public:B(){cout<<”3”;}~B(){cout<<”4”;}}void main(){B b;}A)1234 B)1324 C)1342 D)3142(13)下面关于类和对象的描述中,错误的是A)类就是C语言中的结构体类型,对象就是C语言中的结构体变量B)类和对象之间的关系是抽象和具体的关系C)对象是类的实例,一个对象必须属于一个已知的类D)类是具有共同行为的若干对象的统一描述体(14)下列描述正确的是A)表示m>n为true或m<n为true的表达式为m>n&&m<nB)switch语句结构中必须有default语句C)if语句结构中必须有else语句D)如果至少有一个操作数为true,则包含“‖”运算符的表达式为true(15)不能作为重载函数的调用的依据是A)参数个数B)参数类型C)函数类型D)函数名称(16)在C++语言中,数据封装要解决的问题是A)数据的规范化B)便于数据转换C)避免数据丢失D)防止不同模块之间数据的非法访问(17)对类的构造函数和析构函数描述正确的是A)构造函数可以重载,析构函数不能重载B)构造函数不能重载,析构函数可以重载C)构造函数可以重载,析构函数也可以重载D)构造函数不能重载,析构函数也不能重载(18)下面程序的运行结果为#include(iostream. h>class A{int num;public:A(int i){num=i;}A(A &a){num=a. num++;}void print(){cout<<num;}};void main(){A a(1),b(a);a. print();b.print();A)11 B)12 C)21 D)22(19)下面对静态数据成员的描述中,正确的是A)静态数据成员是类的所有对象共享的数据B)类的每个对象都有自己的静态数据成员C)类的不同对象有不同的静态数据成员值D)静态数据成员不能通过类的对象调用(20) 已知类A中的一个成员函数的说明如下:void Set(A &a);则该函数的参数“A &a”的含义是()A.指向A的指针为a B.将变量a的地址赋给类A C.类A对象引用a用作函数的形参D.变量A与a按位与后作函数参数二,填空题(本大题共5小题,共20分)1.面向对象程序设计中的多态性包括静态多态性和动态多态性,前者由_______________机制支持,而后者则由____________________机制支持。

【试题】2006年3月全国计算机二级C语言笔试真题及答案

【试题】2006年3月全国计算机二级C语言笔试真题及答案

【关键字】试题2006年4月全国计算机等级考试二级C语言笔试试题(含参考答案)一选择题((1)-(10)每题2分,(11)-(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

1)下列选项中不属于结构化程序设计方法的是A) 自顶向下 B)逐步求精 C)模块化 D)可复用2)两个或两个以上模块之间关联的紧密程度称为A)耦合度 B)内聚度 C)复杂度 D)数据传输特性3)下列叙述中正确的是A)软件尝试应该由程序开发者来完成B)程序经调试后一般不需要再尝试C)软件维护只包括对程序代码的维护D)以上三种说法都不对4)按照“后进先出”原则组织数据的数据结构是A)队列 B)栈 C)双向链表 D)二叉树5)下列叙述中正确的是A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构C)双向链表是非线性结构D)只有根结点的二叉树是线性结构6)对如下二叉树进行后序遍历的结果为A) ABCDEF B) DBEAFC C) ABDECF D) DEBFCA7)在深度为7的满二叉树中,叶子结点的个数为A)32 B)31 C)64 D)638)“商品”与“顾客”两个实体集之间的联系一般是A)一对一 B)一对多 C)多对一 D)多对多9)在E-R图中,用来表示实体的图形是A)矩形 B)椭圆形 C)菱形 D)三角形10)数据库DB,数据库系统DBS,数据库管理系统DBMS之间的关系是 A)DB包含DBS和DBMSB)DBMS包含DB和DBSC)DBS包含DB和DBMSD)没有任何关系11)以下不合法的用户标识符是A)j2_KEY B)Double C) 4d D) _8_12)以下不合法的数值常量是A)011 B)lel C) 8.0 E0.5 D) 0xabcd13)以下不合法的字符常量是A)'\018' B)'\”' C) '\\' D) ‘\xcc'14)表达式3.6-5/2+1.2+5%2的值是A)4.3 B) 4.8 C) 3.3 D) 3.815)以下能正确定义字符串的语句是A)char str[]={‘\064'};B) char str=”\x43”;C) char str=”;D) char str[]=”\0”;16)以下数组定义中错误的是A) int x[][3]={0};B) int x[2][3]={{1,2},{3,4},{5,6}};C) nt x[][3]={{1,2,3},{4,5,6}};D)int x[2][3]={1,2,3,4,5,6};17)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc() B) gets() C) getchar() D) scanf()18) 下四个程序中,完全正确的是A)#include B)#includemain(); main(){/*programming*/ {/*/programming/*/ printf(“programming!\n”);}printf(“programming!\n”);} C) #include D) includemain() main(){/*/*programming*/*/ {/*programming*/ printf(“programming!\n”);}printf(“programming!\n”);}19)若有定义:float x=1.5; int a=1,b=3,c=2;则正确的switch语句是A)switch(x)B) switch((int)x);{case 1.0: printf(“*\n”);{case 1: printf(“*\n”);Case 2.0: printf(“**\n”);}case 2: printf(“**\n”);}C) switch(a+b) D) switch(a+b){ case 1: printf(“*\n”); {case 1: printf(*\n”);case 2+1: printf(“**\n”);} case c: printf(“**\n”);}20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是A)main()B) float fun(int a,int b){……} {……x=fun(2,10);……} main()float fun(int a,int b){……}{……x=fun(i,j);……}C)float fun(int,int);D) main()main() { float fun(int i,int j);{……x=fun(2,10);……} ……x=fun(i,j);……}float fun(int a,int b){……} float fun(int a,int b){……}21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E=0)B) (E>0||E<0) C) (E==0) D) (E!=0)22)要求通过while循环不断读入字符,当读入字母N时结束循环。

2006级软件工程C语言试题(A卷) 甄选

2006级软件工程C语言试题(A卷) 甄选

最新2006级软件工程C语言试题(A卷) (优选.)课程名称:程序设计语言考试时间:110 分钟课程代码:8422111试卷总分:100 分一、单项选择题(每小题2分,共计20分)1. C语言源程序的基本单位是()。

(A) 过程(B) 函数(C) 子程序(D) 标识符2. a,b为整形变量,二者均不为0,以下关系表达式中恒成立的是()。

(A) a*b/a*b==1 (B) a/b*b/a==1(C) a/b*b+a%b==a (D) a/b*b==a3.对应于scanf(“%d%d”,&a,&b);的错误输入形式是()。

(A)3,4↙ (B)3 4 5↙(C)3(按tab健)4↙ (D)3↙4↙5↙4.有以下程序void main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是( )。

(A)自然数1~9的累加和(B)自然数1~10的累加和(C)自然数1~9中的奇数之和(D)自然数1~10中的偶数之和5.有以下程序void main(){ int i;for(i=0;i<3;i++)switch(i){ case 0:printf("%d",i);case 2:printf("%d",i);default:printf("%d",i);}}程序运行后的输出结果是( )(A)022111 (B)021021 (C)000122 (D)0126.下列叙述正确的是()。

(A)函数调用时,若形参和实参同名则两者共用存储单元。

(B)一个C程序的执行总是从main函数开始,到本程序文件的最后一个函数结束。

(C)在C程序中,注释说明只能位于一条语句的后面。

(D)宏替换只是字符的替换,不占用运行时间。

7.若二维数组a有m列,则在a[i][j]前的元素个数为()。

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

<<C语言程序设计>>期末考试试题(样卷)
考试时间:2小时考试形式:闭卷
注意:答案一定要写在答卷中,写在本试题卷中不给分。

本试卷要和答卷一起交回。

一、单项选择(每题2分,共20分)
1.组成C语言程序的是()
A.过程B.函数
C.子程序D.主程序(main())和子程序
2. 从完成C源文件编辑,到生成执行文件,C语言处理系统必须执行的步骤依次为( )
A.连接、编译B.编译、连接
C.连接、运行D.运行
3.设int x=1,a=6,b=6,c=8,d=8;则执行语句:if(a>b) if(c>d) x=2;else x=3; 后,x的值是()A.1 B.2
C.3 D.不确定
4.设int a[10],*p=a;则对数组元素值的正确引用是()
A.a[p] B.p[2]
C.* (a++) D.p+2
5.已知有函数原形:struct worker *findw(struct worker per[],int n);则关于函数返回值,请选出以下正确的描述。

A)返回值是一个结构体B)返回值是一个整型数组
C)返回值是一个结构体指针D)返回值是一个函数指针
6.执行语句“for(i=0;i<10;++i,++a) scanf("%d",a);”试图为int类型数组a[10]输入数据,是错误的。

错误的原因是( )
A.指针变量不能做自增运算B.数组首地址是常量,不可改变
C.++i应写作i++ D.++a应写作a++
7.在C语言程序中: ( )
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的调用均可以嵌套
8.设有“char s[]="Program",*p=s;”,则以下叙述中正确的是()。

A.数组s的内容与指针变量p中内容相同
B.数组s的长度与strlen(p)的值相等
C.p[5]的值等于s[5]的值
D.数组s的首地址等于指针变量p的地址
9. 循环for(i=0, j=5; ++i!=--j; ) printf("%d %d", i, j); 将执行( )
A.6次B.3次C.无限次D.以上均不对
10. 执行以下程序后,s的值为( )
static int a[]={5,3,7,2,1,5,4,10};
int s=0, k;
for (k=0;k<8;k+=2)
s+=*(a+k);
A.17 B.27 C.13 D.不确定
二、填空题(每空3分,共30分)
1.已知程序段:
char *p="abcdefgh";
p+=4;
printf("%c",*p++);
printf("%c\n",*++p);
运行结果为[1] 。

2."n是小于整数m的偶数"的C语言表达式为:__ [2] 。

3.用for循环打印0 1 2 0 1 2 0 1 2的语句为:
for( i=1; i<=9; i++ ) printf("%2d", ____[3]______);
4.以下程序段用来输出a数组元素的值,每行输出8个数。

请填空:int a[80],k,n;
……
for(k=0;k<80;k++)
{
printf(“%d”,a[k]);
if(_ [4]_____)
printf(“[5]_____”);
}
5.执行下列语句,写出输出结果:[6] 。

char *p, s[ ]= "abcdefgh";
p=s;
printf("%s", p+3);
6.下面的程序求20名学生的平均成绩
float average( [7] )
{
int i;
float sum=array[0];
for( [8] )
sum = sum + array[i];
return( [9] );
}
int main()
{
float score[20], aver;
int i;
printf("Please input scores:\n");
for( i=0; i<20; i++)
scanf( [10] );
aver=average( score, 20 );
return 0;
}
三、简答题(共20分):
1.请准确的说出下面func函数要实现的功能(4分)
int func( int array[][4] )
{
int i, j, m;
m=array[0][0];
for( i=0; i<3; i++ )
for( j=0; j<4; j++ )
if( array[i][j]>m )
m=array[i][j];
return(m);
}
2.以下main()函数输入一个整数n,计算累加和(1+2+3+…+n)并输出。

本程序有2个错误,找出错误所在行,并写出该行正确内容(4分)。

#1 int main()
#2 {
#3 int i;
#4 int n;
#5 int sum;
#6 scanf( "%d", &n );
#7 for ( i = 0; i < n; i++ )
#8 sum += n;
#9 printf( "%d", sum );
#10 return 0;
#11 }
3.写出下面C程序的输出结果(3分)。

void myfunc( void )
{
int y = 1;
static int z = 2;
y = y + 1;
z = z + 1;
printf( “%d,%d\n”, y, z );
}
int main()
{
myfunc();
myfunc();
myfunc();
return 0;
}
4.写出下面程序的输出结果(4分)
void main()
{
int a []={5,8,7,6,2,7,3};
int y,*p=&a[1];
y=(*--p)++;
printf(“%3d ”,y);
printf(“%3d”,a[0]);
}
5.写出下面程序的输出(5分)
void func(int n)
{
printf( "%d ", n );
if ( n > 0 )
func( n-1 );
}
int main()
{
func( 5 );
return 0;
}
五、编程题(按照题目要求编写完整的程序,共30分)
1.编写一个函数void SumOddEven(int a, int b, int *s_odd, int *s_even),调用它能计算出正整数a 和b 之间(含a 和b ,且 b-a>10,否则提示出错)的奇数之和*s_odd 与偶数之和*s_even 。

在主函数中调用改函数,验证该函数的正确性。

(14分)
2. 写一个程序根据下面的公式计算 e x 的值, 浮点数 x 由用户输入。

(8分)
3. 查找长度为10的整型数组,打印其中每个5对应的数组元下标,及整数5出现的次数,
打印的结果用逗号隔开。

若数组中没有5,也要报告“there is not number 5”。

(8分) !
15...!3!2!111532x x x x e x +++++=。

相关文档
最新文档