大学经典C语言编程试题
- 格式:doc
- 大小:245.50 KB
- 文档页数:52
c语言程序考试题及答案大学一、选择题1. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. variable$2D. variable_2答案:D2. 下列关于C语言中数组的描述,错误的是?A. 数组可以存储一系列相同类型的数据B. 数组的索引从0开始C. 数组的大小在定义时必须确定D. 数组的大小可以在运行时改变答案:D3. C语言中,以下哪个关键字用于定义函数?A. intB. voidC. structD. return答案:B二、填空题1. 在C语言中,定义一个整型数组的语句是:______。
答案:int array_name[size];2. 以下代码段的输出结果是:______。
#include <stdio.h>int main() {int i = 5;printf("%d", i++);return 0;}```答案:5三、简答题1. 简述C语言中指针的概念及其作用。
答案:指针是C语言中的一种数据类型,它存储了变量的内存地址。
指针的作用包括直接访问内存地址、动态内存分配、函数参数传递等。
2. 解释C语言中“结构体”的概念及其应用场景。
答案:结构体是C语言中一种用户自定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。
结构体常用于表示复杂的数据结构,如学生信息、员工记录等。
四、编程题1. 编写一个C语言程序,实现计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}printf("The sum of even numbers within 100 is: %d\n", sum);return 0;}```答案:以上代码段实现了题目要求的功能。
大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言。
B. C语言具有跨平台的特性。
C. C语言是面向对象的编程语言。
D. C语言广泛应用于系统软件的开发。
答案:C2. C语言中,用于定义整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. -variableD. variable$答案:B4. C语言中,用于实现顺序结构的控制语句是:A. ifC. whileD. switch答案:A5. 在C语言中,以下哪个函数用于计算两个数的和?A. max()B. pow()C. sqrt()D. strcat()答案:A6. C语言中,用于定义字符型变量的关键字是:A. intB. floatC. charD. double答案:C7. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. cout()D. getchar()答案:C8. C语言中,用于定义浮点型变量的关键字是:B. floatC. doubleD. char答案:B9. 在C语言中,以下哪个关键字用于定义函数?A. classB. functionC. voidD. struct答案:C10. C语言中,用于实现条件选择的控制语句是:A. ifB. forC. whileD. switch答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义布尔型变量的关键字是________。
答案:_Bool2. C语言中,用于定义字符串的字符数组时,最后一个元素必须是________。
答案:'\0'3. C语言中,用于实现循环结构的控制语句是________和________。
答案:for,while4. 在C语言中,________函数用于计算两个数的乘积。
大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. intB. floatC. doubleD. string答案:A2. C语言中,以下哪个是正确的数据类型?A. IntegerB. CharacterC. Both A and BD. None of the above答案:C3. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-twoD. variable_two答案:B4. 以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B5. 在C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. log()D. exp()答案:A6. C语言中,以下哪个语句用于结束程序?A. break;B. continue;C. return;D. exit();答案:D7. 在C语言中,以下哪个是正确的数组声明?A. int numbers;B. int numbers[10];C. int numbers = 10;D. int numbers[] = {1, 2, 3};答案:B8. C语言中,以下哪个是正确的函数定义?A. int function(int a, int b) { ... }B. void function(int a, int b) { ... }C. int function(int a, int b) = { ... }D. int function(int a, int b) = 0;答案:B9. 在C语言中,以下哪个是正确的条件语句?A. if (a > b)B. if a > bC. if (a > b) { ... }D. if (a > b) then { ... }答案:C10. C语言中,以下哪个是正确的循环结构?A. for (int i = 0; i < 10; i++)B. while (i < 10)C. do { ... } while (condition)D. All of the above答案:D二、简答题(每题5分,共10分)1. 简述C语言中指针的概念及其用途。
大一c语言考试题及答案大一C语言考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:B2. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[10] = "Hello";B. char str = "Hello";C. char str[10] = 'Hello';D. char str = 'Hello';答案:A3. C语言中,以下哪个运算符用于比较两个值是否不相等?A. ==B. !=C. >=D. <=答案:B4. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3,2];D. int array[2][];答案:A5. C语言中,以下哪个函数用于计算两个整数的和?A. max()B. min()C. sum()D. pow()答案:C6. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int id; char name[50]; };B. struct { int id; char name[50]; } Student;C. struct Student { int id; string name; };D. struct { int id; char name[50]; } student;答案:A7. C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. includeD. const答案:A8. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color { Red, Green, Blue };B. enum { Red, Green, Blue };C. enum Color { 1, 2, 3 };D. enum { Red = 1, Green = 2, Blue = 3 };答案:A9. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strncat()答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int ptr;B. int ptr[];C. int ptr = 0;D. int ptr = 0;答案:A二、填空题(每题2分,共20分)1. C语言中,用于输入的函数是________。
大学 c语言试题及答案大学C语言试题及答案试题一:1. 下列关于C语言基础知识的题目,回答是否正确:a) C语言是一种面向过程的编程语言。
[√]b) C语言具有高效性和可移植性的特点。
[√]c) C语言可以直接操作硬件设备。
[√]d) C语言是一种解释型语言。
[×]2. 以下哪个选项是合法的C语言标识符:a) 3variablesb) _tempc) floatd) int-num3. 下列代码段有什么问题:```cint main(){int a;printf("%d", a);return 0;}```a) 变量a未被初始化。
[√]b) printf语句应该放在函数体内。
[√]c) 缺少头文件的引用。
[√]d) 缺少return语句。
[×]4. 关于C语言运算符的使用,以下表达式结果为真:a) (10 > 5) && (5 < 3) [×]b) (3 + 5) * 2 == 16 [×]c) 5 % 2 == 1 [√]d) 2 == 2 || 3 < 1 [√]5. 下列选项中哪个不是C语言的控制语句:a) if-elseb) forc) switch-cased) loop答案及解析:1. 正确答案:a) √, b) √, c) √, d) ×解析:C语言是一种面向过程的编程语言,能够高效操作硬件设备,并具有高效性和可移植性。
但它并非解释型语言。
2. 正确答案:b) _temp解析:C语言标识符必须以字母或下划线开头,并且只能包含字母、数字或下划线。
3. 正确答案:a) 变量a未被初始化。
解析:在使用变量之前,应为其赋初值,否则将导致未定义的行为。
4. 正确答案:c) 5 % 2 == 1, d) 2 == 2 || 3 < 1解析:表达式c中,5除以2的余数为1,因此结果为真;表达式d中,2等于2为真,或(||)运算符表示或者关系,因此结果为真。
大学c语言期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是正确的数据类型?A. intB. floatC. doubleD. A、B、C都是答案:D2. 下列哪个选项不是C语言的运算符?A. %B. &&C. ||D. =答案:D3. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. all of the above答案:D4. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. _variableD. B和C5. 在C语言中,以下哪个选项用于定义一个指针?A. int *p;B. int *p = 0;C. int p*;D. A和B答案:D6. 下列哪个选项是C语言中的字符串字面量?A. "Hello"B. 'Hello'C. "Hello" + "World"D. A和B答案:A7. C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[3] = {1, 2, 3, 4, 5};D. A和B答案:D8. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if (x > 0) elseD. A和B答案:A9. 下列哪个选项是C语言中的循环结构?B. whileC. do-whileD. A、B和C答案:D10. 在C语言中,以下哪个函数用于计算两个数的和?A. printf()B. scanf()C. sum()D. A和B答案:C二、填空题(每题2分,共20分)1. 在C语言中,____关键字用于定义一个结构体。
答案:struct2. 要定义一个指向整型变量的指针,可以使用____声明。
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语言期末考试题库试题及答案在即将到来的大学C语言期末考试中,同学们可能会遇到各种类型的题目。
以下是一些典型的试题及其答案,供同学们复习参考。
1. 以下哪个选项是C语言中的关键字?A. intB. IntegerC. INTD. integer答案:A. int2. 若有定义:int a = 10; 则表达式 a++ 的值是多少?A. 9B. 10C. 11D. 无法确定答案:B. 103. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. str_length()D. string_length()答案:A. strlen()4. 若有以下代码片段:```cint x = 5;printf("%d", x++);```执行后输出的结果是?A. 4B. 5C. 6D. 无法确定答案:B. 55. 在C语言中,以下哪个选项表示“逻辑与”操作?A. &&B. ||C. !D. &答案:A. &&6. 若有以下代码:```cint a = 3, b = 4, c;c = a + b;```则变量 c 的值是多少?A. 7B. 3C. 4D. 无法确定答案:A. 77. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[2,3];B. int array[2][3];C. int array[2][3][4];D. int array[][];答案:B. int array[2][3];8. 若有以下函数定义:```cint add(int x, int y) {return x + y;}```则调用 add(5, 3) 时,返回的值是多少?A. 2B. 5C. 8D. 无法确定答案:C. 89. 在C语言中,以下哪个选项表示“不等于”的比较运算符?A. ==B. !=C. =D. <=答案:B. !=10. 若有以下代码:```cchar str[] = "Hello";str[0] = 'h';```执行后,str 数组的内容是什么?A. "hello"B. "Hello"C. "helloworld"D. "hEllo"答案:A. "hello"这些题目覆盖了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语言考试试题及答案一、选择题(每题2分,共40分)1. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 在C语言中,用于定义一个结构体的关键字是什么?A. structB. unionC. classD. typedef答案:A3. 下列哪个选项是C语言中的合法整型常量?A. 0x1AB. 1.23C. 0123D. 0b1010答案:A4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. //D. %答案:A5. C语言中,以下哪个选项是正确的注释方式?A. // 这是一个注释B. /* 这是一个注释 */C. <!-- 这是一个注释 -->D. # 这是一个注释答案:B6. 以下哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. goto答案:D7. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B8. C语言中,以下哪个选项是正确的数组声明?A. int a[10];B. int a[];C. int a[10] = {0};D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D10. C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. #defineD. #include答案:C二、填空题(每题2分,共20分)1. C语言中,用于定义一个全局变量的关键字是________。
答案:extern2. 在C语言中,________运算符用于判断两个值是否相等。
答案:==3. C语言中,________函数用于输出字符串。
1.输入两个正整数,m和n,求其最大公约数和最小公倍数。
#include<stdio.h>void main(){int hcf(int,int); /*函数声明*/int lcd(int,int,int); /*函数声明*/int u,v,h,l;printf("Please input two numbers:\n");scanf("%d,%d",&u,&v);h=hcf(u,v);printf("H.C.F=%d\n",h);l=lcd(u,v,h);printf("L.C.D=%d\n",l);}int hcf(int u,int v){int t,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}int lcd(int u,int v,int h){return(u*v/h);}2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
#include<stdio.h>int letter,digit,space,others;void main(){void count(char[]);char text[80];printf("Please input string:\n");gets(text);printf("string:\n");puts(text);letter=0;digit=0;space=0;others=0;count(text);printf("letter:%d,digit:%d,space:%d,others:%d\n",letter,digit,space,others);}void count(char str[]){int i;for(i=0;str[i]!='\0';i++)if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')) letter++;else if(str[i]>='0'&&str[i]<='9')digit++;else if(str[i]==32)space++;elseothers++;}3.输入一个正整数求出它是几位数;输出原数和位数。
#include<stdio.h>int digit;void main(){void count(char[]);char text[80];printf("Please input numbers:\n");gets(text);printf("Numbers:\n");puts(text);digit=0;count(text);printf("digit:%d\n",digit);}void count(char str[]){int i;for(i=0;str[i]!='\0';i++)if(str[i]>='0'&&str[i]<='9')digit++;}4.输入一个正整数,输出原数并逆序打印出各位数字。
#include<stdio.h>void invertLongInt(long);void main(){unsigned long iNumber;printf("Please input a number:\n");scanf("%ld",&iNumber);printf("The input number is:%ld\n",iNumber);printf("The inverse number is:");invertLongInt(iNumber);}void invertLongInt(long x){if(x>=0&&x<=9)printf("%d\n",x);else{printf("%d",x%10);invertLongInt(x/10);}}5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。
6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。
将结果输出。
7.求1!+2!+3!+……+20!,将结果输出。
#include<stdio.h>void main(){float s=0,t=1;int n;for(n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!+3!+……+20!=%e\n",s);}8.打印以下图案: ****************#include<stdio.h>void main(){int i,j;printf("The picture is:\n");static char picture[4][7]={{' ',' ',' ','*'},{' ',' ','*','*','*'},{' ',' *','*','*','*','*'},{'*','*','*','*','*','*','*'}}; for(i=0;i<=3;i++){for(j=0;j<=6;j++)printf("%c",picture[i][j]);printf("\n");}}9.打印以下图案:**********#include<stdio.h>void main(){int i,j;printf("The picture is:\n");char picture[4][4]={{'*'},{'*','*'},{' *','*','*'},{'*','*','*','*'}};for(i=0;i<=3;i++){for(j=0;j<=3;j++)printf("%c",picture[i][j]);printf("\n");}}10.求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
#include<stdio.h>void main(){float sum=1.0,t,s=1;int i;for(i=1;i<=100;i++){t=s/i;sum=sum+t;s=-s;}printf("1-1/2+1/3-1/4+……+1/99-1/100=%5.4f\n",sum);}11.打印出100~999之间的所有水仙花数。
#include<stdio.h>void main(){int i,j,k,n;printf("100~999之间的所有水仙花数 are:\n");for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d ",n);}printf("\n");}12.求Sn=a+aa+aaa+…+aa…a之值,n,a由键盘输入。
#include<stdio.h>void main(){int a,n,i=1,sn=0,tn=0;printf("a,n=:");scanf("%d,%d",&a,&n);while(i<=n){tn=tn+a;sn=sn+tn;a=a*10;++i;}printf("a+aa+aaa+…+aa…a=%d\n",sn);}13.打印以下图案:****************************#include<stdio.h>void main(){char a[7]={'*','*','*','*','*','*','*'};int i,j,k;char space=' ';printf("The picture is:");for(i=0;i<4;i++){printf("\n");printf(" ");for(j=1;j<=i;j++)printf("%c",space);for(k=0;k<7;k++)printf("%c",a[k]);}printf("\n");}14.打印以下图案:112112321123432115. 打印以下图案:123432112321121116.编写一个统计学生成绩程序,完成以下功能:输入4个学生的2门课成绩;求出全班的总平均分,将结果输出。
#include<stdio.h>#define N 4struct student{char num[3];char name[4];float score[2];float avr;}stu[N];void main(){int i,j;float sum,average;for(i=0;i<N;i++) /*输入数据*/{printf("input scores of student%d:\n",i+1);printf("name:");scanf("%s",stu[i].name);for(j=0;j<2;j++){printf("score %d:",j+1);scanf("%f",&stu[i].score[j]);}}average=0; /*计算*/for(i=0;i<N;i++){sum=0;for(j=0;j<2;j++)sum+=stu[i].score[j];stu[i].avr=sum/2;average+=stu[i].avr;}average/=N;printf(" Name score1 score2 average\n"); for(i=0;i<N;i++){printf("%5s%10s",stu[i].num,stu[i].name);for(j=0;j<2;j++)printf("%9.2f",stu[i].score[j]);printf(" %8.2f\n",stu[i].avr);}printf("average=%5.2f\n",average);}17. 打印以下图案:*************************#include<stdio.h>void main(){char a[5]={'*','*','*','*','*'};int i,j,k;char space=' ';printf("The picture is:");for(i=0;i<5;i++){printf("\n");printf(" ");for(j=1;j<=i;j++)printf("%c",space);for(k=0;k<5;k++)printf("%c",a[k]);}printf("\n");}18.给出年、月、日,计算该日是该年的第几天。