湖南大学C语言程序设计试卷

合集下载

C语言程序设计考试试卷(附答案)

C语言程序设计考试试卷(附答案)

C语言程序设计考试试卷计算机程序设计课程56 学时 3.5 学分考试形式:闭卷一、选择题(15小题,每小题2分,共计30分)1.下面不正确的字符串常量是 A 。

A)'abc' B)"12'12" C)"0" D)" "2.以下正确的叙述是 DA)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误(精确)地表示D)在C程序中,%是只能用于整数运算的运算符3.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为 AA)D B)68 C)不确定的值 D)C4.sizeof(float)是 B :A)一个双精度型表达式 B)一个整型表达式C)一种函数调用 D)一个不合法的表达式5.以下说法正确的是 D :A)输入项可以为一实型常量,如scanf("%f",3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);6.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是 D (注:<CR>表示回车)。

int a1,a2; char c1,c2;scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2);A) 1020AB<CR> B)10 20<CR>AB<CR>C)10 20 AB<CR> D)10 20AB<CR>7.请阅读以下程序:void main(){int a=5,b=0,c=0;if(a=b+c) printf("***\n");e1se printf("$$$\n");以上程序 D :A)有语法错不能通过编译 B)可以通过编译但不能通过连接C)输出*** D)输出$$$8.下面程序段的运行结果是 C 。

c语言程序设计试卷及答案(A)

c语言程序设计试卷及答案(A)

c语言程序设计试卷及答案(A) C语言程序设计试卷及答案(A)试卷一、选择题(共10题,每题2分,总分20分)1. 下列哪个函数可以计算字符串长度?A. scanf()B. gets()C. puts()D. strlen()2. C语言中,以下哪个关键字用于定义常量?A. constB. staticC. externD. volatile3. 在C语言中,以下哪个运算符具有最高的优先级?A. =B. ++C. +D. *4. 结构体是由一组相关的____组成的。

A. 函数B. 数据C. 指针D. 宏5. 在C语言中,以下哪个循环结构会先判断条件?A. whileB. do-whileC. forD. if6. 下列哪种数据类型不能存储整数?A. intB. doubleC. charD. long7. 在C语言中,以下哪个关键字用于终止循环?A. continueB. gotoC. breakD. return8. C语言中,以下哪种数据结构是先进先出(FIFO)的?A. 栈B. 队列C. 链表D. 数组9. 在C语言中,以下哪个关键字用于定义函数?A. functionB. procedureC. methodD. void10. 下列哪个函数可以将浮点数四舍五入为整数?A. ceil()B. floor()C. round()D. trunc()二、填空题(共5题,每题4分,总分20分)1. 下划线开头的标识符在C语言中一般用于定义_____。

2. 以下哪个函数可以将字符串转换为整数?______()3. C语言中,允许使用____字符来表示转义字符。

4. C语言中,____的作用是用来定义宏。

5. 使用____可以将整数转换为字符串。

三、代码阅读与填空(共4题,每题10分,总分40分)请阅读以下代码,并回答相应的问题。

#include <stdio.h>int main() {int i, j;for (i = 1; i <= 5; i++) {for (j = 1; j <= 5; j++) {if (i == j) {printf("* ");} else {printf("- ");}}printf("\n");}return 0;}1. 以上代码的输出结果是什么?__- - - * -__- - * - -__- * - - -__* - - - -__- - - - -2. 请解释代码中的嵌套循环的作用是什么?3. 如果要输出一个倒立的等腰三角形如下所示: __* * * * *__* * * *__* * *__* *__*需要对代码进行怎样的修改?4. 请写出一个函数,接受两个整数作为参数,返回它们的最大公约数。

大学C语言程序设计试题含答案

大学C语言程序设计试题含答案

大学C语言程序设计试题含答案一、简答题1. 请简要解释什么是C语言程序设计。

C语言程序设计是一种计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代早期开发。

它强调的是效率和可移植性,被广泛应用于操作系统、嵌入式系统和其他需要高效执行的应用程序开发。

2. C语言的基本数据类型有哪些?请列举并简要说明其特点。

C语言的基本数据类型包括:- int:用于表示整数,通常占用4个字节内存,可以表示范围较大的整数;- char:用于表示字符,占用1个字节内存,常用于存储ASCII码;- float:用于表示单精度浮点数,占用4个字节内存,可用于表示小数;- double:用于表示双精度浮点数,占用8个字节内存,可用于表示更大范围和更高精度的小数;- void:表示无类型,常用于函数返回类型。

3. 请解释C语言中的变量和常量的概念,并简要说明它们的区别。

变量是用于存储和表示数据的一种方式,可以根据需要改变其值。

在C语言中,变量声明需要指定其类型,并可以为变量命名,并通过赋值来存储数据。

常量是固定不变的值,不能改变其值。

在C语言中,常量可以是字面值常量(直接指定数值或字符)、符号常量(使用预处理器#define 指令定义的常量)或常量表达式(由常量组成的表达式)。

常量在程序执行过程中保持不变。

二、编程题1. 编写一个程序,输入一个整数,判断该数字是奇数还是偶数,并输出相应的提示信息。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。

\n", num);} else {printf("%d是奇数。

\n", num);}return 0;}```2. 编写一个程序,计算并输出1到100之间所有奇数的和。

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。

1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。

B. C语言标准库中包含了很多有用的函数和变量。

C. C语言标准库的函数和变量的声明保存在头文件中。

D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。

2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。

1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。

以下是程序的运行示例:```1至100之间的所有偶数的和为2550。

```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。

以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。

大学_C语言程序设计试题及参考答案

大学_C语言程序设计试题及参考答案

C语言程序设计试题及参考答案C语言程序设计试题及答案(一)1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分)A.switch(x){case 1.0: printf("__ ");case 2.0 printf("____ ");}B.switch((int)x){case 1.0: printf("__ ");case 2.0 printf("____ ");}C.switch(a+b){case 1: printf("__ ");case 2+1: printf("____ ");}D.switch(a+b){case 1: printf("__ ")case c: printf("____ ");}标准答案:C2. 若有宏定义如下:#define X 5#define Y X+1#define Z Y__X/2则执行以下printf语句后,输出的结果是( )int a; a=Y;printf("%d ",Z);printf("%d",--a); (2分)A.7,6B.12,6C.12,5D.7,5标准答案:D3. 下面的.符号常量定义中,正确的是 ( ) (2分)A.#define PI 3.14;B.#include PI 3.14;C.#define PI=3.14D.#define PI 3.14标准答案:D4. 以下程序的输出结果是( )int a, b;void fun(){ a=100; b=200; }main(){ int a=5, b=7;fun();printf("%d%d ", a,b);} (2分)A.100200B.57C.00D.75标准答案:D5. 若有以下调用语句,则不正确的fun函数的首部是( ) main(){ …int a[50],n;…fun(n, a[9]);…} (2分)A.void fun(int m, int x[])B.void fun(int s, int h[41])C.void fun(int p, int __s)D.void fun(int n, int a)标准答案:D6. 以下程序的输出结果是( )fun(int x, int y, int z){ z=x__x+y__y; }main(){ int a=31;fun(5,2,a);printf("%d",a);} (2分)A.0B.29C.31D.无定值标准答案:C7. 以下只有在使用时才为该类型变量分配内存的存储类说明是( ) (2分)A.auto和staticB.auto和registerC.register和staticD.extern和register标准答案:B8. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) (2分)A.地址传递B.单向值传递C.由实参传给形参,再由形参传回实参D.传递方式由用户指定标准答案:B9. 以下函数值的类型是( )fun ( float x ){ float y;y= 3__x-4;return y;} (2分)A.intB.不确定C.voidD.float标准答案:A10. C语言规定函数的返回值的类型是由( ) (2分)A.return语句中表达式类型决定B.调用该函数时的主调函数类型决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型决定标准答案:D11. 若有说明:int i,j=7, __p=i; 则与i=j;等价的语句是( ) (2分)A.i= __P;B.__p=__j;C.i=j;D.i=__ __p;标准答案:B12. 以下程序执行后a的值是( )main(){ int a,k=4,m=6,__p1=k,__p2=m;a=p1==m;printf("%d ",a);} (2分)A.4B.1C.0D.a无定值标准答案:D13. 若有说明:long __p,a;则不能通过scanf语句正确给输入项读入数据的程序段是( ) (2分)A.__p=a;scanf("%ld",p);B.p=(long __)malloc(8);scanf("%ld",p);C.scanf("%ld",p=a);D.scanf("%ld",a);标准答案:A14. 以下程序的输出结果是( )#includeint a[3][3]={1,2,3,4,5,6,7,8,9,},__p;main(){p=(int __)malloc(sizeof(int));f(p,a);printf("%d ",__p);}f(int __s,int p[][3]){__s=p[1][1];} (2分)A.1B.4C.7D.5标准答案:D15. 设已有定义: char __st="how are you"; 下列程序段中不正确的是( ) (2分)A.char a[12], __p; strcpy(p=a+1,st[4]);B.char a[12]; strcpy(++a, st);C.char a[12]; strcpy(a, st);D.char a[12], __p; strcpy(p=a[1],st+2);标准答案:B18. 以下程序的输出结果是_____ B___。

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷C语言程序设计期末考试试卷一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项表示一个字符常量?- A. 'A'- B. "A"- C. \A- D. A2. 以下哪个是C语言中的合法标识符?- A. 2variable- B. variable2- C. variable!3. C语言中,以下哪个语句用于定义一个整型数组?- A. int array[10] = {0};- B. int [10] array = {0};- C. int array = [10] = {0};- D. int array[10];4. 以下哪个是C语言中定义函数的关键字?- A. function- B. method- C. def- D. int5. C语言中,以下哪个是正确的函数声明?- A. int add(int a, int b)- B. int add(int a, int b) {}- C. int add(int, int);- D. void add(int a, int b);6. 在C语言中,以下哪个语句用于实现循环?- A. do-while- B. for- C. switch-case- D. if-else7. 在C语言中,以下哪个语句用于实现条件判断? - A. if-else- B. switch-case- C. while- D. for8. 在C语言中,以下哪个语句用于实现跳转?- A. return- B. break- C. continue- D. goto9. 在C语言中,以下哪个是正确的字符串字面量? - A. "Hello World"- B. 'Hello World'- C. "hello world"- D. {"Hello World"}10. 在C语言中,以下哪个是正确的结构体定义?- A. struct person { int age; char name[20]; };- B. struct { int age; char name[20]; } person;- C. struct person { int age; char name; };- D. struct person int age; char name[20];二、填空题(每空1分,共10分)1. 在C语言中,一个整型变量的默认值是______。

c语言及程序设计试题及答案

c语言及程序设计试题及答案

c语言及程序设计试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. &&答案:C3. 在C语言中,哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. variable_2D. variable$2答案:C5. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. "r+"答案:D6. C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C7. 在C语言中,以下哪个选项表示“不等于”?A. ==B. !=C. =D. ==答案:B8. C语言中,哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A9. 在C语言中,以下哪个选项是正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. //* This is a single line comment */D. /* This is a multi-line comment */答案:A10. C语言中,以下哪个关键字用于定义一个指针?A. ptrB. refC. *D. ^答案:C二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型变量的正确语法是:int ________;答案:变量名2. 要将一个字符变量赋值为'A',正确的赋值语句是:char ch =________;答案:'A'3. 在C语言中,使用 ________ 函数可以输出格式化的字符串。

大学《C语言程序设计》期末考试试题题库(带详解答案)

大学《C语言程序设计》期末考试试题题库(带详解答案)

一、单项选择题1.若有以下说明语句:struct date{ int year;int month;int day;}brithday;则下面的叙述不正确的是__C___.A) struct是声明结构体类型时用的关键字B) struct date 是用户定义的结构体类型名C) brithday是用户定义的结构体类型名D) year,day 都是结构体成员名2. 以下对结构变量stul中成员age的非法引用是Bstruct student{ int age;int num;}stu1,*p;p=&stu1;A) stu1.age B) student.age C) p->age D) (*p).age3.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是CA) p=&a; B) p=data.a; C) p=&data.a; D)*p=data.a;4.设有以下说明语句:typedef struct stu{ int a;float b;} stutype;则下面叙述中错误的是(D)。

A、struct是结构类型的关键字B、struct stu是用户定义的结构类型C、a和b都是结构成员名D、stutype是用户定义的结构体变量名5.语句int *p;说明了 C 。

A)p是指向一维数组的指针B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针// 指针的定义教材P223D)p是函数名,该函数返回一指向int型数据的指针6.下列不正确的定义是(A)。

A.int *p=&i,i;B.int *p,i;C.int i,*p=&i; D.int i,*p;选项A先定义一个整型指针变量p,然后将变量i的地址赋给p。

然而此时还未定义变量i因此编译器无法获得变量i的地址。

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。

()2、在标准C中,整型变量与字符变量是可以通用的。

()3、在标准C中,“=”是判断两个数是否相等。

大学C语言程序设计考试试题及答案3套

大学C语言程序设计考试试题及答案3套

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

C语言程序设计期末考试卷及答案.doc

C语言程序设计期末考试卷及答案.doc

..C语言程序设计期末考试卷及答案一、单项选择题。

从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。

1.一个C 语言程序的执行是从( )。

A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main 函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是( )。

A )switch B )printf C )default D )case3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。

A )24B ) -24C )4D )164.已知int i;float d;,则正确的表达式是( )。

A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。

A )5B )16C )27D )386.下列选项中合法的字符型常量是( )。

A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是( )。

#include <stdio.h> void main( ) { int k = 15;printf("k = %d,k = %o,k = %x\n",k,k,k); }A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是( )。

湖大C语言程序设计期末试卷 含答案

湖大C语言程序设计期末试卷 含答案


C) scanf(“%d,%d,%d”,&i,&j,&k);


D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
线 4.若 x 为 unsigned int 型变量,则执行下列语句后 x 值为(


x = 65535;
printf(“%d\n”,x);
A)65535
B)1
C)无定值
}
main()
{ int a,b,*x,*y;
a=10;b=20;
x=&a; 【



printf(“%d %d\n”,*x, *y);
}
4. 下面的程序是将字符串 a 按反向存入字符串 b 中并输出。(如 :串 a 为"12345 ",则串 b 为"54321 ") main()
{ char *a={"abcdefg"},b[80],*p=b; int n,m,k; k=strlen(a); n=k-1; m=0;
for ( i=0; i<10; i++) scanf("%d",p++); printf("\n"); for ( i=0; i<10; i++, p++) printf("%d ",*p); }
4. 以下函数的功能是:打印 1 到 5 的阶乘值。程序运行后结果不正确,只修改一条语句使其完成要求功能。 int fac(n) int n; { int f =1; f=fn; return( f ); } main( ) { int i; for (i=1; i<=5; i++) printf(“%d!=%d\n”, i, fac(i)); }

湖南大学招收攻读硕士学位研究生真题+答案

湖南大学招收攻读硕士学位研究生真题+答案

答案:B,int(*px)[10]是指向一维数组的指针变量,int*px[10]是一维指针数组6、一个算法应该具有“确定性”等5个特性,下面对其他特性的描述中错误的是()A、有零个或多个输入B、只能有零个或者一个输出C、有穷性D、有效性答案:B,参考《C程序设计》(第四版)21-22页7、以下说法中正确的是()A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在mian()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分答案:C,对答案有疑问可研读《C程序设计》(第四版)第七章8、下面程序的输出是()#include <stdio.h>int m = 13;int fun(intx,int y){int m = 3;return(x*y-m);}void main(){int a=7,b=5;printf(“%d\n”,fun(a,b)/m);}A、1B、2C、7D、10答案:B9、以下数组定义中不正确的是()A、int a[2];B、int b[] = {0,1,2,5,8};C、float[100][100];D、int d[3][3] = {{1,2},{1,2,3},{1,2,3,4}};答案:D,{1,2,3,4}有四个元素,但上限是三个元素10、下列程序段的输出结果是()float x=213.82631;printf(“%3d”,(int)x);A、213.82B、213.83C、213D、3.8答案:C,强制转换为整型,结果为213二、填空题(3*10=30)1、计算机内部运算使用的数是_________进制。

答案:二2、C语言源程序的基本单位是________,它由多条语句组成,用来实现一个特定功能,通过调用来使用。

答案:函数3、假定x=10,则表达式x<=10?70:34的值为___________答案:70,因为x等于10,满足<=10的条件,故x=704、若x=5,y=10,则计算y*=++x表达式后,x和y的值分别是________和_______答案:6 和 60 x自加后变为6,y=10*6=605、数值常量0x62对应的十进制值是_______答案:98, 0x为16进制,故所求值为6*16+2=986、在C语言程序的循环体中,使用__________语句可以跳出循环体,执行循环体后面的语句。

湖南大学课程考试试卷五

湖南大学课程考试试卷五

一、选择题(每题2 分,共10分)1.以下叙述中正确的是( )A) 构成C程序的基本单位是函数B) 可以在一个函数中定义另一个函数C) main()函数必须放在其它函数之前D) 所有被调用的函数一定要在调用之前进行定义2.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( ) A)6.500000 B)6 C) 5.500000 D) 6.0000003.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为 2、k的值为3,以下选项中正确的输入语句是( )A) scanf(“%2d%2d%2d”,&i,&j,&k);B) scanf(“%d %d %d”,&i,&j,&k);C) scanf(“%d,%d,%d”,&i,&j,&k);D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);4.若x 为unsigned int 型变量,则执行下列语句后x值为()x = 65535;printf(“%d\n”,x);A)65535 B)1 C)无定值 D)-15. 定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是()。

A)auto B) registerC)extern D) static二、判断题(每题 1 分,共10分)1、C程序中的函数不能嵌套调用,但可嵌套定义。

(2、当形式参数为指针变量名时,实际参数可为指针变量名、数组名或其它类型变量的首地址(3、若有说明:static int a[3][4];,则数组a中各数组元素可在程序的编译阶段得到初值0(4、若用数组名作为函数调用时的实参,则实际上传递给形参数组的是数组的第一个元素的值(5、共用体变量的地址和它的各成员的地址都是同一起始地址。

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. intB. floatC. charD. string答案:D4. 在C语言中,表示逻辑“与”操作的运算符是()。

A. &&B. ||C. !D. &答案:A5. C语言中,用于定义函数的关键字是()。

A. funcB. functionC. defD. void答案:B6. C语言中,用于表示“不等于”的运算符是()。

A. ==B. !=C. =D. <=答案:B7. 在C语言中,用于定义数组的语法是()。

A. int a[10];B. int a=10;C. int a;D. int a(10);答案:A8. 下列关于C语言中指针的描述,错误的是()。

A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的元素D. 指针本身没有数据类型答案:D9. C语言中,用于输入输出的库函数是()。

A. printfB. scanfC. coutD. cin答案:B10. 在C语言中,用于定义结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量的关键字是______。

答案:int2. C语言中,用于定义一个字符型变量的关键字是______。

答案:char3. C语言中,用于定义一个浮点型变量的关键字是______。

答案:float4. C语言中,用于定义一个双精度浮点型变量的关键字是______。

c语言程序设计试题及答案讲解

c语言程序设计试题及答案讲解

c语言程序设计试题及答案讲解一、选择题1. 下列关于C语言的描述中,错误的是()。

A. C语言是一种高级语言B. C语言具有很好的移植性C. C语言不支持面向对象编程D. C语言可以直接操作硬件答案:D解析:C语言是一种高级语言,具有很好的移植性,并且支持面向对象编程,但是它不直接操作硬件,而是通过系统调用间接操作。

2. 在C语言中,下列哪个关键字用于定义一个结构体()。

A. structB. unionC. enumD. typedef答案:A解析:在C语言中,关键字struct用于定义一个结构体。

二、填空题1. 在C语言中,定义一个整型变量的关键字是____。

答案:int2. C语言中,用于定义一个函数的关键字是____。

答案:void 或者其他数据类型三、简答题1. 请简述C语言中指针的概念。

答案:在C语言中,指针是一种特殊的变量,它存储的是另一个变量的内存地址。

通过指针,可以间接访问和操作变量的值。

2. 请解释C语言中数组和指针的关系。

答案:在C语言中,数组名可以被看作是指向数组首元素的指针。

因此,数组和指针有着密切的关系。

通过指针可以遍历数组,也可以通过数组下标访问元素。

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

```c#include <stdio.h>int main() {int a = 5, b = 10;int sum = a + b;printf("The sum of %d and %d is %d\n", a, b, sum);return 0;}```答案解析:该程序定义了两个整数变量a和b,并将它们的和赋值给变量sum。

然后,程序使用printf函数输出这两个整数的和。

2. 编写一个C语言程序,实现交换两个整数变量的值。

```c#include <stdio.h>int main() {int a = 3, b = 7, temp;temp = a;a = b;b = temp;printf("After swapping, a = %d, b = %d\n", a, b);return 0;}```答案解析:该程序首先定义了两个整数变量a和b,以及一个临时变量temp。

湖南大学C语言试卷及答案

湖南大学C语言试卷及答案

一、单项选择题:(10分,每题2分)1.char*p[10];该语句声明了一个:。

A)指向含有10个元素的一维字符型数组的指针变量pB)指向长度不超过10的字符串的指针变量pC)有10个元素的指针数组p,每个元素可以指向一个字符串D)有10个元素的指针数组p,每个元素存放一个字符串2.若intx;且有下面的程序片断,则输出结果为:。

for(x=3;x<6;x++){printf((x%2)"##%d":"**%d\n",x);}A) ##3B)**3C)**3D)##3**4**4##4##4**5##5##5**53.在while(!x)语句中的!x与下面条件表达式等价的是:。

A)x!=0B)x==1C)x!=1D)x==04.已知structpoint{intx;inty;};structrect{structpointpt1;structpointpt2;};structrectrt;structrect*rp=&rt;则下面哪一种引用是不正确的_______。

A) rt.pt1.xB) (*rp).pt1.xC) rp->pt1.x D)rt->pt1.x5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为:。

A)*(a+j*n+i)B)*(a+i*n+j)C)*(*(a+i)+j)D)*(*a+i)+jCDDDC二、分析程序并写出运行结果。

(25分,每题5分)1.#include<stdio.h>main(){intn;staticchar*monthName[]={"Illegalmonth","January","February","March","April","May","June","July","August","September","October","November","December"};for(n=1;n<=12;n++){printf("%s\n",monthName[n]);}}运行结果是:JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember2.#include<stdio.h>#defineARR_SIZE7voidYH(inta[][ARR_SIZE],intn);voidPrintYH(inta[][ARR_SIZE],intn);main(){inta[ARR_SIZE][ARR_SIZE];YH(a,ARR_SIZE-1);PrintYH(a,ARR_SIZE-1);}voidYH(inta[][ARR_SIZE],intn){inti,j;for(i=1;i<=n;i++){for(j=1;j<=i;j++){if(j==1||i==j){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}}voidPrintYH(inta[][ARR_SIZE],intn) {inti,j;for(i=1;i<=n;i++){for(j=1;j<=i;j++){printf("%4d",a[i][j]);}printf("\n");}}运行结果是:111121133114641151010513.#include<stdio.h>main(){inti,n;for(i=1;i<=5;i++){printf("Pleaseentern:");scanf("%d",&n);if(n<=0)continue;printf("n=%d\n",n);}printf("Programisover!\n");}程序运行时输入:1-23-45↙运行结果是:n=1Pleaseentern:Pleaseentern:n=3Pleaseentern:Pleaseentern:n=5Programisover!4.#include<stdio.h>voidFunc(intn);main(){inti;for(i=0;i<2;i++){Func(i);}}voidFunc(intn)staticintt=1;printf("t=%d\n",t++);}运行结果是:t=1t=25.#include<stdio.h>intFunc(inti);main(){inti;for(i=3;i<5;i++){printf("%d",Func(i));}printf("\n");}intFunc(inti){staticintk=10;for(;i>0;i--){k++;}return(k);}运行结果是:1317三、阅读并完成程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。

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

第 1 页(共 6 页)
三、写出程序运行结果(每题 5 分,共20分)
1.main()
{ int a=15,b=21,m=0;
switch(a%3)
{ case 0:m++;break;
case 1:m++;
switch(b%2)
{ default:m++;
case 0:m++;break;
}
}
printf(“%d\n”,m);
}
程序运行后的输出结果是:
2.float fun(int x, int y)
{return (x+y);}
main()
{ int a=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}
程序运行后的输出结果是:
3.void fun(char *c,int d)
{ *c=*c+1;d=d+1;
printf("%c,%c,",*c,d);
}
main()
{ char a='A',b='a';
fun(&b,a); printf("%c,%c\n",a,b);
}
程序运行后的输出结果是:
4.struct stu
{ char num[10]; float score[3]; };
main()
{ struct stu s[3]={{"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90}},*p=s;
int i; float sum=0;
for(i=0;i<3;i++)
sum=sum+p->score[i];
printf("%6.2f\n",sum);
}
程序运行后的输出结果是:
第 2 页(共 6 页)
四、程序改错(每题5分,共20分)
1.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main()
{ int n,k;
float score ,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf("%f",&score); sum+=score;}
ave=sum/4.0;
printf("NO%d:%f\n",n,ave);
}
}
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。

这条语句是哪条?并将其移到正确的位置。

2.以下函数的功能是计算s=1+1/2+1/3+……+1/n,程序运行后结果不正确,错误的语句是哪条?并改之。

main()
{float s=0.0;
int i;
for(i=1;i<=3;i++)
s=s+1/i;
printf("%f",s);
}
3.以下函数的功能是:输出有10个元素的整型数组a的元素值。

程序运行后结果不正确,只增加一条语句使其完成要求功能。

main( )
{ int a[10], *p=a , i;
for ( i=0; i<10; i++) scanf("%d",p++);
printf("\n");
for ( i=0; i<10; i++, p++) printf("%d ",*p);
}
4.以下函数的功能是:打印1到5的阶乘值。

程序运行后结果不正确,只修改一条语句使其完成要求功能。

int fac(n)
int n;
{ int f =1;
f = f n ;
return( f );
}
main( )
{ int i;
for (i=1; i<=5; i++)
printf(“%d!=%d\n”, i, fac(i));
}
第 3页(共6页)
五、程序填空(在【】中填空,每题5 分,共20分)
1.fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。

请填空。

#include<stdio.h>
#define N 4
int fun(int(*a)[N])
{ int row,col,max,min;
for(row=0;row<N;row++)
{ for(max=a[row][0],col=1;col<N;col++)
if(【】) max=a[row][col];
if( row==0) min=max;
else if(【】) min=max;
}
return min;
}
2.函数sstrcmp()的功能是对两个字符串进行比较。

当s所指字符串和t所指字符串相等时,
返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。

请填空。

#include<stdio.h>
int sstrcmp(char *s,char *t)
{ while(*s&&*t&&(*s-*t)【】)
{ s++;t++;}
return 【】
}
3.下面的程序是用指针来交换两个数据,请将缺省语句填上。

void exchange( int *p ,int *q)
{ int t;
t=*p; *p=*q; *q=t;
}
main()
{ int a,b,*x,*y;
a=10;b=20;
x=&a;【】
【】
printf(“%d %d\n”,*x, *y);
}
4.下面的程序是将字符串a按反向存入字符串b中并输出。

(如:串a为"12345",则串b为"54321")
main()
{ char *a={"abcdefg"},b[80],*p=b;
int n,m,k;
k=strlen(a);
n=k-1;
m=0;
while (n>=0)
{ *(p+m)=【】
n--;
第 4 页(共 6 页)【】
}
*(p+k)=*(a+k);
printf("%s \n",a);
printf("%s \n",b);
}
六、编写函数完善下面程序(每题10分,共20分)
1.编写在字符串中寻找关键字符的子函数
#include <stdio.h>
char *search(char *tagstr, char *c)
{
}
main()
{ char *string="I am a student",c;
printf("Please enter the character:");
scanf("%c",&c); /*输入关键字符*/
if(search(string,&c))
printf("Found!!!",search(string,&c));
else
printf("Not Found!!!\n");
}
2.用指向函数的指针作形参,设计一个函数process, 每次实现不同的功能,当用不同的函数名作实参调用process时,process再去调用相应的函数。

#include <stdio.h>
main ( )
{ int max( ), min( ), add( ),process();
int a, b;
printf("enter a and b:");
scanf("%d, %d", &a, &b);
printf("max=");
process(a, b, max);
printf("min=");
process(a,b,min);
printf("sum=");
process(a, b, add);
}
第 5 页(共 6页)
max(x, y)
int x, y;
{ int z;
if (x>y) z=x;
else z=y;
return(z);
}
min(x, y)
int x, y;
{ int z;
if (x<y)
z=x;
else
z=y;
return(z);
}
add(x, y)
int x, y;
{ int z;
z=x+y;
return(z);
}
process( )
{
}
第 6 页(共 6 页)。

相关文档
最新文档