四川大学C语言期末试题(最新版)

四川大学C语言期末试题(最新版) 注:1试题字迹务必清晰,书写工整。 本题 14 页,本页为第 2 页 2 题间不留空,一般应题卷分开 教务处试题编号: 3务必用A4纸打印 A卷

一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。每小题1分,共16分) 1.对于一个正常运行的C程序,以下叙述中正确的是A 。 A)程序的执行总是从main函数开始,在main函数结束 B)程序的执行是从程序的第一个函数开始,在main函数结束 C)程序的执行是从main函数开始,在程序的最后一个函数中结束 D)程序的执行是从程序的第一个函数开始,在程序的最后一个函数中结束 2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是B 。 A)字母 B)减号 C)数字字符

学号: 姓名

本题 14 页,本页为第 3 页

教务处试题编号: A卷

D)下划线 3.下列定义变量的语句中错误的是 C 。 A)int _if; B)double If; C)char forch D)float x&; 4.以下选项中可作为C语言合法常量的是 A 。 A)-80 B)-0819 C)-1el.0 D)-168.0e 5.以下能正确定义且赋初值的语句是 。 A)int a=b=16; B)char c=97; C)float x=x+1.8; D)double x=1.23E2.0 6.设有定义:“int a=1,b=6,c=8;”,则以下选项中值为0的表达式是 。 A)(!a==1)&&(!b==0) B)(aC)a && b D)a || b 7.下列叙述正确的是 D 。

学号: 姓名

本题 14 页,本页为第 4 页

教务处试题编号: A卷

A)break语句只能用于switch语句 B)break语句只能用于循环语句 C)break语句必须与switch语句中的case配对 D)break语句可用于switch语句和循环语句中 8.在以下给出的表达式中,与while(E)中的“(E)”不等价的表达式是 C 。 A)(E!=0) B)(E>0 || E<0) C)(E==0) D)(!E==0) 9.以下数组定义中错误的是 B 。 A)int x[][3]={0,1,2,3}; B)int x[2][3]={{1,2}, {3,4}, {5,6}}; C)int x[][3]={{1,2,3},{4,5,6}}; D)int x[2][3]= {1,2,3,4,5,6}; 10.在C语言中,函数返回值的类型最终取决

学号: 姓名

本题 14 页,本页为第 5 页

教务处试题编号: A卷

于 。 A)函数定义时的函数首部所说明的函数类型 B)return语句中表达式值的类型 C)调用函数时的实参的类型 D)函数定义时形参的类型 11.设已有定义:“float a;”,则以下对指针变量p进行定义且赋初值的语句中正确的是 。 A)float *p = 1068; B)int *p= (int)a; C)float p=&a; D)float *p=&a; 12.若有说明语句:“float *p,a;”,则能通过scanf语句正确给输入项读入数据的程序段是 。 A)*p=&a; scanf("%f",p); B)*p=&a; scanf("%lf",p); C)p=&a; scanf("%f",*p); D)p=&a; scanf("%f",p); 13.若有以下说明和定义:

学号: 姓名

本题 14 页,本页为第 6 页

教务处试题编号: A卷

union dt { short int a; char b; double c; } data; 以下叙述中错误的是 。

A) data的每个成员起始地址都相同 B)变量data所占的内存字节数与成员c所占字节数相等 C)程序段“data.a=6;printf("%f\n ",data.c);”输出结果为6.000000 D) data可以作为函数的实参 14.以下叙述中正确的是 。 A)在源文件的一行上可以有多条预处理命令 B)宏名必须用大写字母表示 C)宏替换不占用程序的运行时间 D)前面都是错语的 15.设fp为指向某二进制文件的指针,且已读到

学号: 姓名

本题 14 页,本页为第 7 页

教务处试题编号: A卷

此文件末尾,则函数feof(fp)的返回值为 。 A)EOF B)1 C)0 D)NULL 16.以下叙述中错误的是 。 A)改变函数形参的值,不会改变对应实参的值 B)函数可以返回地址值 C)可以给指针变量赋一个整数作为地址值 D)函数的形参可为指针类型 二、填空题(第小题2分,共14分) 1.已定义“char ch=6;int i=6,j;”,执行“j=ch || i++”以后,i的值为 。 2.设有定义语句:“int a[][8]={{0},{1},{2}};”,则数组元素a[1][2]的值为 。 3.已知int a=3,a的地址为1008,则&a= 。 4.设有定义:“FILE *fp;”,请将以下打开文件的语句补充完整,以便可以向文本文件readme.txt的

学号: 姓名

本题 14 页,本页为第 8 页

教务处试题编号: A卷

最后续写内容。 fp = fopen)("readme.txt", " "); 5.已有定义:“int *p;”,请写出完整的语句,利

用malloc函数使p指向一个整型的动态存储单元 。 6.声明外部变量的关键字是 extrun 。 7. int 类型的变量的值只能是所指定的若干名字之一。 三、阅读下面各程序,写出运行结果(每小题5分,共30分) 1.有以下程序: #include int main(void) { char al = 'M', a2 = 'm', a3 = 'u'; printf("%c\n", (al, a2, a3)); return 0; } 运行结果是:

2.有以下程序: #include int main(void)

学号: 姓名

本题 14 页,本页为第 9 页

教务处试题编号: A卷

{ int k = 6; while (--k) printf("%d", k -= 4); return 0; } 运行结果是:

3.有以下程序: #include int main(void) { int i = -1; do printf("%d", i); while (++i); printf("%d\n", i); return 0; } 运行结果是:

4.有以下程序: #include double fun1(double a) { return a * a; } int fun2(double x, double y) { double a = fun1(x), b = fun1(y); return a + b; } int main(void) { int w = fun2(1.3, 2.0); printf("%d\n", w); return 0; }

学号: 姓名

本题 14 页,本页为第 10 页

教务处试题编号: A卷

运行结果是: 5.有以下程序: #include int f(int n) { if (n == 1) return 1; else return n + f(n - 1); } int main(void) { printf("%d\n", f(5)); return 0; } 运行结果是:

6.有以下程序: #include void point(char *p){ p += 5; } int main(void) { char b[] = {'a', 'b', 'c', 'd', 'f', 'g'}, *p = b; point(p); printf("%c\n", *p);

学号: 姓名

本题 14 页,本页为第 11 页

教务处试题编号: A卷

return 0; } 运行结果是: 四、程序填空题(每空2分,共12分) 1.以下程序的功能是:输出a、b、c三个变量中的最小值。将程序补充完整。 #include int main(void) { int a, b, c, t1, t; scanf("%d%d%d", &a, &b, &c); t = a < b ? [1] ; t = c < t ? [2] ; printf("%d\n", t); return 0; } 2.以下程序调用invert函数按逆序重新放置a

数组中元素的值。a数组中元素的值在main函数中读入。将程序补充完整。 #include #define N 10 void invert(int s[], int i, int j) { if (i < j) { int t= s[i];

合集下载

大学生期末c语言试题及答案

大学生期末c语言试题及答案

大学生期末c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的变量名?A. 2variableB. _variableC. variable2D. variable-2答案:C2. 下列哪个选项是C语言中的关键字?A. defineB. typedefC. includeD. using答案:B3. 在C语言中,以下哪个选项表示的是逻辑与运算?A. &&B. ||C. !D. =答案:A4. C语言中,以下哪个选项是正确的注释方式?A. /* 这是注释 */B. // 这是注释C. /* 这是注释 */D. # 这是注释答案:A5. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B6. C语言中,以下哪个选项是正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr[] = {0, 1, 2, 3};答案:A7. 在C语言中,以下哪个选项是正确的函数声明?A. int func(int a, int b);B. int func(int a, int b) {}C. int func(int, int);D. int func(int a, int b) = 0;答案:A8. 以下哪个选项是C语言中正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[] = {'H', 'e', 'l', 'l', 'o'};C. char str[] = "Hello";D. char str[] = {'H', 'e', 'l', 'l', 'o'};答案:A10. C语言中,以下哪个选项是正确的结构体定义方式?A. struct Student {int id;char name[50];};B. struct Student {int id;char name[];};C. struct Student {int id;char name[50];} student;D. struct Student {int id;char name[];} student;答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用______运算符可以取变量的地址。

大学c语言期末复习题及答案

大学c语言期末复习题及答案

大学c语言期末复习题及答案1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable name答案:C2. C语言中,以下哪个是正确的整型常量表示?A. 0x1AB. 0X1AC. 0x1aD. 0X1a答案:A3. 在C语言中,以下哪个关键字用于声明函数?A. classB. functionC. defD. int答案:D4. 下列哪个选项是C语言中正确的二维数组声明?A. int array[3][2];B. int array[3][];C. int array[][];D. int array[2,3];答案:A5. C语言中,以下哪个选项表示逻辑与操作?A. &&B. ||C. !D. |答案:A6. 以下哪个函数用于在C语言中计算字符串的长度?A. strlen()B. length()C. size()D. sizeof()答案:A7. 在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); }答案:B8. C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. open()C. fileopen()D. file()答案:A9. 在C语言中,以下哪个选项表示无符号整型?A. intB. unsigned intC. signed intD. long int答案:B10. C语言中,以下哪个选项是正确的结构体声明?A. struct {int id;char name[50];} Employee;B. struct Employee {int id;char name[50];};C. struct Employee int id;char name[50];};D. struct Employee {int id;char name[50];struct Employee next;};答案:B11. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int (*ptr)();答案:A12. C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI 3.14159C. #define PI "3.14159"D. #define PI 3.14159;答案:A13. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} Color;C. enum Color {Red, Green, Blue} color;D. enum Color {Red, Green, Blue};答案:A14. C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. ~答案:D15. 在C语言中,以下哪个选项是正确的单行注释?A. //B. /* */C. //D. //答案:A。

c语言大学期末考试题及答案

c语言大学期末考试题及答案

c语言大学期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的基本数据类型?A. BooleanB. StringC. CharD. Integer答案:C2. C语言中,用于定义数组的关键字是:A. structB. unionC. arrayD. enum答案:C3. 下列哪个选项是C语言中正确的注释方式?A. /* This is a comment */B. // This is a commentC. # This is a commentD. % This is a comment答案:A4. 下列哪个选项是C语言中用于交换两个变量值的函数?A. strcpyB. strcatC. swapD. printf答案:C5. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. classD. typedef答案:A6. 下列哪个选项是C语言中正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D7. C语言中,用于定义一个指针的关键字是:A. refB. ptrC. pointerD. *答案:D8. 下列哪个选项是C语言中用于定义一个枚举类型的关键字?A. enumB. typedefC. unionD. struct答案:A9. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D10. 下列哪个选项是C语言中用于定义一个联合体的关键字?A. structB. unionC. enumD. typedef答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个函数。

答案:int2. C语言中,使用________关键字可以定义一个指针。

答案:*3. C语言中,使用________关键字可以定义一个结构体。

c 大学期末试题及答案

c 大学期末试题及答案

c 大学期末试题及答案**C大学期末试题及答案**一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C2. 在C语言中,以下哪个运算符用于取模?A. %B. /C. *D. -答案:A3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. =D. ==答案:A4. 在C语言中,以下哪个选项是正确的字符串声明方式?A. char str;B. string str;C. char str[] = "Hello";D. string str[] = "Hello";答案:C5. C语言中,以下哪个关键字用于声明一个指针?A. intB. floatC. *D. pointer答案:C6. 在C语言中,以下哪个选项是正确的数组声明方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = 1, 2, 3, 4, 5;D. int arr = {1, 2, 3, 4, 5};答案:B7. C语言中,以下哪个函数用于计算两个整数的和?A. max()C. sum()D. pow()答案:C8. 在C语言中,以下哪个选项是正确的结构体声明方式?A. struct Student { int age; char name[20]; };B. struct { int age; char name[20]; } Student;C. Student struct { int age; char name[20]; };D. struct Student { int age; string name; };答案:A9. C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. #define答案:C10. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio>D. #include "stdio"答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个全局变量。

大学《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语言期末考试题及答案

大一C语言期末考试题及答案

大一C语言期末考试题及答案一、选择题(每题2分,共20分)1.C语言中,以下哪个选项是合法的标识符?A.2variableB.variable2C.variable-2D.variable$2答案:B2.下列哪个选项不是C语言的基本数据类型?A.intB.floatC.stringD.double答案:C3.在C语言中,以下哪个选项不是运算符?A.+B.C.%D.:答案:D4.若有定义:int a=5,b=3;,则表达式a%b的值是多少?A.2B.1C.0D.3答案:A5.下列哪个选项不是C语言中的控制语句?A.ifB.switchC.forD.while答案:B6.在C语言中,以下哪个选项是正确的字符串声明?A.char str[5]="hello";B.char str[]={'h','e','l','l','o'};C.char str[6]="hello";D.char str[]="hello";答案:D7.在C语言中,以下哪个函数用于计算字符串的长度?A.strlen()B.strcpy()C.strcat()D.strcmp()答案:A8.下列哪个选项不是C语言中的数组?A.int a[5];B.int a[5]={1,2,3,4,5};C.int a[]={1,2,3};D.int a={1,2,3};答案:D9.在C语言中,以下哪个选项是正确的函数声明?A.int add(int a,int b);B.int add(int,int);C.int add();D.int add(int a);答案:A10.在C语言中,以下哪个选项是正确的文件操作函数?A.fopen()B.fclose()C.printf()D.scanf()答案:A二、填空题(每空2分,共20分)1.在C语言中,用于定义一个整型变量的关键字是________。

大学期末常见c语言试题及答案

大学期末常见c语言试题及答案1. 题目:编写一个C语言程序,计算并输出100以内所有正整数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("1到100的和是:%d\n", sum);return 0;}```2. 题目:编写一个C语言程序,实现输入一个字符串,然后输出该字符串的逆序。

答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");return 0;}```3. 题目:编写一个C语言程序,计算并输出一个整数的阶乘。

答案:```c#include <stdio.h>long factorial(int n) {if (n == 0) return 1;long result = 1;for (int i = 1; i <= n; i++) {result *= i;}return result;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d的阶乘是:%ld\n", num, factorial(num)); return 0;}```4. 题目:编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除运算。

大学c语言期末考试题及答案

大学c语言期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. intB. floatC. doubleD. string答案:A2. C语言中,哪个函数用于将整数转换为字符串?A. itoa()B. atoi()C. printf()D. sprintf()答案:A3. 在C语言中,以下哪个是正确的字符串定义方式?A. char str[] = "Hello World";B. string str = "Hello World";C. char str = "Hello World";D. char str[12] = "Hello World";答案:A4. 下列哪个是C语言中正确的数组声明?A. int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};B. int array[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};C. int array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};D. int array[10] = 0;答案:B5. C语言中,哪个运算符用于求两个数的余数?A. %B. /C. *D. -答案:A6. 下列哪个是C语言中正确的条件语句?A. if (x > y)B. if x > yC. if(x > y)D. if (x > y)答案:D7. 在C语言中,哪个函数用于计算两个数的最大值?A. max()B. max_int()C. max_value()D. None of the above答案:D8. C语言中,哪个关键字用于定义函数?A. functionB. defC. funcD. int答案:D9. 在C语言中,哪个语句用于结束程序的执行?A. break;B. exit();C. return;D. end;答案:B10. 下列哪个是C语言中正确的循环结构?A. do-whileB. forC. whileD. All of the above答案:D二、填空题(每题2分,共10分)1. C语言中,用于定义变量的关键字是________。

大学c期末考试题库及答案

大学C期末考试题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. returnC. voidD. function答案:A2. 以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B3. C语言中,哪个运算符用于计算两个整数的乘积?A. /B. *C. %D. +答案:B4. 下列哪个选项是C语言中的正确注释?A. // 这是一个注释B. /* 这是一个注释 */C. <!-- 这是一个注释 -->D. //-这是一个注释答案:A5. 在C语言中,哪个函数用于输出字符串到控制台?A. printf()B. scanf()C. puts()D. fgets()答案:C6. C语言中,以下哪个选项是正确的整型常量?A. 0x1AB. 0x1A.5C. 1.5e2D. 0x1A.5e2答案:A7. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. classC. unionD. enum答案:A8. C语言中,以下哪个选项表示逻辑与操作?A. &&B. ||C. !D. ^答案:A9. 在C语言中,哪个函数用于计算数组的长度?A. strlen()B. sizeof()C. length()D. size()答案:B10. C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A二、填空题(每题2分,共20分)1. C语言中,字符型数据在内存中以______型数据存储。

答案:整型2. 在C语言中,使用______函数可以将字符串复制到另一个字符串。

答案:strcpy()3. C语言中,以下代码的输出结果是______。

大学C语言期末考试题库试题及答案

大学C语言期末考试题库试题及答案1【程序填空】--------------------------------------------------------- 题目:下面函数为二分法查找key值。

数组中元素已递增排序,若找到key则返回对应的下标,否则返回-1。

-------------------------------------------------------*/ #include<stdio.h>fun(int a[],int n,int key){int low,high,mid;low=0;high=n-1;/***********SPACE***********/while(【low<=high】){mid=(low+high)/2;/***********SPACE***********/if(key<a[mid]) 【high=mid-1】;/***********SPACE***********/else if(key>a[mid]) 【low=mid+1】;/***********SPACE***********/else 【return(mid)】;}return -1;}void main(){int a[10]={1,2,3,4,5,6,7,8,9,10};int b,c;b=4;c=fun(a,10,b);if(c==-1)printf("not found");else printf("position %d\n",c); }/*-------------------------------------------------------2 【程序填空】---------------------------------------------------------题目:求n!,n值由键盘输入。

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