c题库题目
大学c语言考试题库及答案

大学c语言考试题库及答案一、选择题1. 下列关于C语言中变量的描述,哪个是正确的?A. 变量必须先定义后使用B. 变量的类型不能改变C. 变量可以在任何地方定义D. 所有变量都必须初始化后才能使用答案:A2. C语言中,一个整数除以另一个整数,结果是什么类型的数据?A. 整数型B. 浮点型C. 长整型D. 无符号整数型答案:A3. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 如果一个指针变量p指向一个int类型的变量,那么表达式*p++的值是什么?A. p指向的变量的当前值B. p指向的变量的下一个值C. p指向的变量的前一个值D. 无定义答案:A5. C语言中,以下哪个关键字用于定义一个函数?A. intB. floatC. voidD. char答案:C二、填空题1. C语言中,________关键字用于定义一个结构体。
答案:struct2. 在C语言中,________运算符用于计算两个整数的乘积。
答案:*3. 当需要频繁修改数组中的元素时,应使用________类型的数组。
答案:动态4. C语言中,________函数用于将字符串s复制到t所指向的内存空间。
答案:strcpy()5. 在C语言中,________关键字用于声明一个无限循环。
答案:for 或 while三、简答题1. 请简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以作为指针使用。
数组的每个元素都可以通过数组名加上索引来访问。
指针变量可以指向数组的第一个元素,并通过指针算术来访问数组的其他元素。
数组的地址可以通过指针传递给函数,从而在函数内部访问数组。
2. 解释C语言中的“宏”是什么,并给出一个使用宏的例子。
答案:宏是C语言中的一个预处理指令,它允许定义一个可以被编译器替换的文本块。
宏通常用于定义常量、简化复杂的表达式或者创建可重复使用的代码块。
c语言编程题库100题

c语言编程题库100题1. 计算两个整数的和编写一个C程序,接收两个整数作为输入并计算它们的和,并将结果输出。
2. 计算两个整数的差编写一个C程序,接收两个整数作为输入并计算它们的差,并将结果输出。
3. 计算两个整数的乘积编写一个C程序,接收两个整数作为输入并计算它们的乘积,并将结果输出。
4. 计算两个整数的商编写一个C程序,接收两个整数作为输入并计算它们的商,并将结果输出。
5. 判断一个整数是否为偶数编写一个C程序,接收一个整数作为输入并判断它是否为偶数,并将结果输出。
6. 判断一个整数是否为质数编写一个C程序,接收一个整数作为输入并判断它是否为质数(只能被1和自身整除的数),并将结果输出。
7. 计算一个整数的阶乘编写一个C程序,接收一个整数作为输入并计算它的阶乘,并将结果输出。
8. 计算一个整数的平方根编写一个C程序,接收一个整数作为输入并计算它的平方根,并将结果输出。
9. 判断一个字符串是否为回文字符串编写一个C程序,接收一个字符串作为输入并判断它是否为回文字符串(正向和反向读取都相同的字符串),并将结果输出。
10. 排序一个整数数组编写一个C程序,接收一个整数数组作为输入并对其进行排序,并将结果输出。
11. 求两个整数之间的最大公约数编写一个C程序,接收两个整数作为输入并计算它们的最大公约数,并将结果输出。
......(依此类推,共100道题)这是一个C语言编程题库,包含100道不同类型的题目。
你可以选择其中的题目进行练习和实践,通过解决这些问题来提升自己的C语言编程能力。
每道题目都有具体的描述和要求,你可以按照题目要求编写相应的代码,并运行测试。
如果遇到问题,可以参考相关的解法或向他人寻求帮助。
通过不断地练习和学习,你将逐渐掌握C语言的编程技巧和思维方式,提高自己在编程领域中的能力。
祝你编程愉快!。
C语言题库

一、判断题(每题1分)1。
函数即可以嵌套定义,又可以嵌套调用。
(×)2。
unsigned 和void 在C 中都是保留字.(√ )3.表达式 ++i 表示对变量i 自加1。
(√)4.C 语言源程序的基本结构单位是main 函数。
( ×)5。
字符常量的长度肯定为1. (√ )6.char a[]={’a','b’,’c'};char b[]={”abc"};数组a和数组b 占用的内存空间大小不一样。
(√ )7。
若有int i=10,,j=2;则执行完i*=j+8;后i 的值为28。
(×)8.int i,*p=&i;是正确的C 说明。
( √ )9.While 循环语句的循环体至少执行一次。
( ×)10.有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。
(√ ) 11。
7&3+12的值是15。
(× )12。
C 语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。
( √)13。
若 a=3,b=2,c=1 则关系表达式”(a〉b)==c" 的值为"真"。
(√ )14. 在C 语言中,整型数据在内存中占2个字节。
(× )15. 对二维数组a 来说,由于a+1与*(a+1)的值相等,因此二者的含义是一样的。
(× )16. break 语句可用于循环体内,它将退出该重循环。
(√)17。
将一个字符串"abc”赋给字符串变量str 的方法是str=”abc”。
. (×)18。
参加位运算的数据可以是任何类型的数。
(×)19. C 语言规定:在一个源程序中,main 函数的位置必须在最开始. ( × )20. 静态外部变量只在本文件内可用. (√)21。
若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t 没定义,所以此宏定义是错误的.( ×)22. 字符串只能存放在字符型数组中。
C 题库

30. 在C语言中,用关键字[<char>]定义字符型变量。
31. 在Turbo C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是[<.exe>]。
32. 在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为[<1>].
printf("%d%c",a,b);
}
35. 若有定义:int a=4,b=5,c=6;接着顺序执行下列语句后,变量b中的值是[<1>]。
c=(a-=(b-5));
c=(a%3)+(b=1);
36. 复合语句在语法上被认为是[<一条语句>]。
37. 执行下列程序时,输入1234567<CR>,则输出结果是[<12 34>]。
87. 执行语句int i=2; int *p; p=&i;后,*p的值为[<2>]。
88. 设有char *a="ABCD",则printf("%c", *a)的输出是[<A>]。
89. 若d是已定义的双精度变量,再定义一个指向d的指针变量p的代码是[<double *p
= &d>]。
43. 以下程序段的输出结果是[<死循环>]
int k,n,m;
n=10;m=1;k=1;
while(k<=n) m*=2;
printf("%d\n",m);
44. 已有定义:char c='';int a=1,b;执行b!=c&&a;后b的值为[<0>]。
c题库题目

程序填空1.从键盘上输入两个复数的实部与虚部,求出并输出它们的和、积、商。
2.以下程序的功能如(图1)。
|x+1| x<0f= 2x+1 0≤x≤5sinx+5 x>53.输入三个整数x,y,z,请把这三个数由小到大输出。
4.统计读入的整数数据中大于零的整数个数和小于零的整数个数。
用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。
5.以每行5个数输出500以内能被7或17整除的偶数,并求出其和。
6.以下程序不借助任何中间变量把a、b的值进行交换。
7.输出斐波那契(Fibonacci)数列(1,1,2,3,5,8,13……)的前20项。
8.求 1-3+5-7+……-99+101 的值。
9.输出如下形式的乘法表。
1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=9……9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=8110.实现求解下面的式子的结果,请填空将程序补充完整。
s=1*2+2*3+3*4+…+20*21。
11.以下程序的功能是分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。
12.求任一整数x的各位数字之和。
13.以下程序的功能是求两个非负整数的最大公约数和最小公倍数。
14.以下程序的功能如(图1)。
15.算式:?2*7?=3848中缺少一个十位数和一个个位数。
编程求出使该算式成立时的这两个数,并输出正确的算式。
16.输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。
17.下面的程序是求1!+3!+5!+……+n!的和.18.请编程序打印如下图形。
$$$$$$$$$$$$$$$19.打印出如下图案(菱形)*************************20.从键盘上输入20个元素的值存入一维数组m中,然后将下标为(0. 2. 4. 6. 8. 10……18)的元素值赋值给数组n,最后输出数组n的内容。
c笔试题目及答案

c笔试题目及答案1. 题目:以下哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C2. 题目:以下哪个关键字用于定义一个函数?A. classB. functionC. defD. int答案:D3. 题目:C语言中,哪个运算符用于将变量的值增加1?A. +=B. --C. +=D. ++答案:D4. 题目:以下哪个选项是C语言中的合法数组声明?A. int arr[10];B. int arr[];C. int arr[10] = {0};D. All of the above答案:D5. 题目:C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. count()答案:A6. 题目:以下哪个选项是C语言中正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. // This is a single line comment/* This is a multi-line comment */D. All of the above答案:D7. 题目:C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A8. 题目:以下哪个选项是C语言中正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>#include "stdio.h"D. All of the above答案:A9. 题目:以下哪个选项是C语言中正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. All of the above答案:A10. 题目:C语言中,哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. reference答案:C。
c语言c操作题库及详解答案

c语言c操作题库及详解答案C语言C操作题库及详解答案1. 请编写一个C程序,实现两个整数的加法运算,并输出结果。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数相加的结果是:%d\n", sum);return 0;}```2. 编写一个C程序,实现字符串的复制功能。
答案:```c#include <stdio.h>#include <string.h>int main() {char src[] = "Hello, World!";char dest[50];strcpy(dest, src);printf("复制后的字符串是:%s\n", dest);return 0;}```3. 请编写一个C程序,实现求一个整数的阶乘。
答案:```c#include <stdio.h>int factorial(int n) {if (n == 0)return 1;elsereturn n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d的阶乘是:%d\n", num, factorial(num)); return 0;}```4. 编写一个C程序,实现判断一个数是否为素数。
答案:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1)return 0;for (int i = 2; i <= sqrt(n); ++i) { if (n % i == 0)return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num))printf("%d是素数。
(完整版)C语言题库(带详解答案)

(完整版)C语⾔题库(带详解答案)⼀单项选择题1.(A)是构成C语⾔程序的基本单位。
A、函数B、过程C、⼦程序D、⼦例程2.C语⾔程序从 C开始执⾏。
A) 程序中第⼀条可执⾏语句 B) 程序中第⼀个函数C) 程序中的main函数 D) 包含⽂件中的第⼀个函数3、以下说法中正确的是(C)。
A、C语⾔程序总是从第⼀个定义的函数开始执⾏B、在C语⾔程序中,要调⽤的函数必须在main( )函数中定义C、C语⾔程序总是从main( )函数开始执⾏D、C语⾔程序中的main( )函数必须放在程序的开始部分4.下列关于C语⾔的说法错误的是(B)。
A) C程序的⼯作过程是编辑、编译、连接、运⾏B) C语⾔不区分⼤⼩写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执⾏5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满⾜(1);选项D中的int为关键字,不满⾜(3)6.下列C语⾔⽤户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满⾜(2);选项C,E均为为关键字,不满⾜(3);选项D中的“-”不满⾜(1);7.下列四组选项中,正确的C语⾔标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满⾜(1);选项D中的标识符以数字开头不满⾜(2)8、下列四组字符串中都可以⽤作C语⾔程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满⾜(1);选项C中的while 为关键字,不满⾜(3)9.C语⾔中的简单数据类型包括(D)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序填空1.从键盘上输入两个复数的实部与虚部,求出并输出它们的和、积、商。
2.以下程序的功能如(图1)。
|x+1| x<0f= 2x+1 0≤x≤5sinx+5 x>53.输入三个整数x,y,z,请把这三个数由小到大输出。
4.统计读入的整数数据中大于零的整数个数和小于零的整数个数。
用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。
5.以每行5个数输出500以内能被7或17整除的偶数,并求出其和。
6.以下程序不借助任何中间变量把a、b的值进行交换。
7.输出斐波那契(Fibonacci)数列(1,1,2,3,5,8,13……)的前20项。
8.求 1-3+5-7+……-99+101 的值。
9.输出如下形式的乘法表。
1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=9……9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=8110.实现求解下面的式子的结果,请填空将程序补充完整。
s=1*2+2*3+3*4+…+20*21。
11.以下程序的功能是分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。
12.求任一整数x的各位数字之和。
13.以下程序的功能是求两个非负整数的最大公约数和最小公倍数。
14.以下程序的功能如(图1)。
15.算式:?2*7?=3848中缺少一个十位数和一个个位数。
编程求出使该算式成立时的这两个数,并输出正确的算式。
16.输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。
17.下面的程序是求1!+3!+5!+……+n!的和.18.请编程序打印如下图形。
$$$$$$$$$$$$$$$19.打印出如下图案(菱形)*************************20.从键盘上输入20个元素的值存入一维数组m中,然后将下标为(0. 2. 4. 6. 8. 10……18)的元素值赋值给数组n,最后输出数组n的内容。
请填空21.产生25个[50,90]上的随机整数,求出其中能被5整除的所有数的和。
22.从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。
23.以下程序的功能是将一个数组中的元素按逆序存放。
24.产生15个[20,80]上的随机整数,用顺序法(比较法)按从小到大排序后输出。
25.以下程序是用选择法对10个整数按升序排列26.以下程序的功能是产生10个[30,90]区间上的随机整数,然后对其用选择法进行由小到大的排序。
27.以下程序的功能是产生并输出如下形式的方阵。
1 2 2 2 2 2 13 1 2 2 2 1 43 3 1 2 14 43 3 3 14 4 43 3 1 5 14 43 1 5 5 5 1 41 5 5 5 5 5 128.以下程序的功能是产生并输出杨辉三角的前七行。
11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 139.求出二维数组中的最大元素值。
30.用5*9的二维数组打印以下图形。
*************************31.以下程序的功能是求一个二维数组中每行的最大值和每行的和。
32.按字母表顺序输出26个大写英文字母。
33.以下程序的功能如(图1)。
34.以下程序的功能如(图1)。
35.计算并输出500以内最大的10个能被13或17整除的自然数之和。
36.下面函数为二分法查找key值。
数组中元素已递增排序,若找到key则返回对应的下标,否则返回-1。
37.函数的功能是求有5个元素的一维数组的平均值。
38.已定义一个含有30个元素的数组s,函数fun1的功能是按顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序每五个元素求一个平均值, 并将该值存放在数组w中。
39.用冒泡法对数组a 进行由小到大的排序。
40.统计一个字符串中的字母、数字、空格、和其它字符的个数。
41删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。
42.将一个字符串中的前N个字符复制到一个字符数组中去,不许使用strcpy函数。
43.删除一个字符串中的所有数字字符。
44.输入字符串,再输入一个字符,将字符串中与输入字符相同的字符删除。
45.将两个字符串连接为一个字符串,不许使用库函数strcat。
46.将在字符串s中的字符先按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。
47.将十进制数转换成十六进制数。
48.下面程序的功能是将十进制数转换成二进制数。
49.利用指针将通过键盘输入的3个数按从小到大的顺序输出。
50.通过键盘输入一个整数x,输出能整除x且不是偶数的各整数。
51.在一个一维整型数组中找出其中最大的数及其下标。
52.以下程序的功能:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。
例如:当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。
53.请编写一个函数fun,它的功能是:删除字符串中的数字字符。
例如输入字符串:48CTYP9E6,则输出:CTYPE。
54.写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
55.将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。
56.通过函数的递归调用计算阶乘。
47.用递归法求字符串中ASCII码值最大的字符。
58.从键盘上输入一个字符串, 将该字符串升序排列后输出到文件test.txt中,然后从该文件读出字符串并显示出来。
59.有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
60.从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。
输入的字符串以!结束。
程序改错1.编写函数fun计算下列分段函数的值,输入x,输出y的值。
x x<0且x≠-3f(x)= x+1 0≤x<10且x≠2及x≠3sin(3*x) 其它2.输入两个整数,n1,n2(要求n1<n2),统计两整数范围内被3整除的数的个数。
3.程序功能是输入一个长整数,求各位数字的平方和。
如果输入的是负数,求其相反数的各位数字的平方和。
例如:输入-123,输出14。
4.从键盘上输入20个元素的值存入一维数组m中,然后将下标为(1. 3.5. 7. 9……19)的元素值赋值给数组n,最后输出数组n的内容。
5.下面程序的功能是:从键盘输入十个学生的成绩,统计最高分,最低分和平均分。
max代表最高分,min代表最低分,avg代表平均分。
6.已知一个数列从第1项开始的前三项分别为0. 0. 1,以后的各项都是其相邻的前三项的和。
下列给定程序中,函数fun的功能是:求该数列的前n项的平方根之和sum,n的值通过形参传入。
输出由主函数完成。
例如,当n=10时,程序的输出结果应为23.197745。
7.函数fun 的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。
例如输入圆的半径值:19.527 输出为:s = 598.950017。
8.下列给定程序中,函数fun的功能是:求1到10的阶乘的和。
9.求1!+2!+3!+……+10!。
10.函数fun的功能是:求1到20的阶乘的和。
11.函数fun的功能是:根据以下公式求π值,并作为函数值返回。
例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。
+……12.函数fun的功能是:根据整型形参m的值,计算如下公式的值。
1 1 1t = 1- —— - —— - ... - ——2x2 3x3 mxm例如,若m=5,则应输出:0.53638913.编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=1+1/3+1/5+1/7+...+1/(2m-3)14.以下程序的功能是求如下表达式:15.函数fun的功能是:用下面的和式求圆周率的近似值。
直到最后一项的绝对值小于等于0.0001。
π 1 1 1— = 1 - — + — - — + ...4 35 716.函数fun的功能是:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项数不得多于或少于20。
17.给定程序MODI1.C中函数 fun 的功能是:求广义菲玻那契级数的第n项。
广义菲玻那契级数的前n项为: 1,1,1,3,5,9,17,31,……项值通过函数值返回 main ( )函数。
例如,若 n = 15,则应输出:The value is: 2209。
18.以下程序的功能是统计 400~499 这些数中“4”这个数字出现的次数,判断一个数有几位数字4用函数fun实现。
19.编写一个函数,判断一个数字是否在一个正整数中,若在则函数返回值为1,否则函数返回值为0。
输入输出由主函数完成。
20.从键盘输入一个数,是3位数就加上100,是4位数就除以100,其它情况不变。
21.一个5位数,判断它是不是回文数。
例如12321是一个回文数,即它的个位与万位相同,十位与千位相同。
22.函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。
k 的值由主函数传入,若k的值为500,则函数值为4622。
23.函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。
例如,若给num1和num2分别输入49和21,则输出的最大公约数为7。
24.给定程序MODI1.C中函数 fun 的功能是:计算正整数num的各位上的数字之积。
例如,若输入:252,则输出应该是:20。
若输入:202,则输出应该是:0。
25.函数fun的功能是:计算正整数num的各位上的数字之积。
例如,输入252,则输出应该是20。
26.下列程序中,函数fun的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。
27.fun函数的功能是:找出大于m的最小素数,并将其作为函数值返回。
28.下列给定程序中,函数fun的功能是:判断m是否为素数,若是返回1,否则返回0。
主函数的功能是:按每行5个输出1-100之间的全部素数。
29.fun函数的功能是:给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。
例如,n=6时,输入23.5, 45.67, 12.1, 6.4,58.9, 98.4所得平均值为40.828335,在平均值以下的实数个数应为3。