C语言题库
c语言考试题库
![c语言考试题库](https://img.taocdn.com/s3/m/3ad05e7af705cc1755270983.png)
一、单选题(每题1分,共100题)1.C语言源程序文件是后缀为(未填)的文件。
错误正确答案:AA. .cB. .exeC. .objD. .bat2.C语言中主函数的个数是(未填)。
错误正确答案:DA. 2个B. 任意个C.10个D. 1个3.定义指针变量时,需要在指针变量名前加上(未填)错误正确答案:CA.!B.@C.*D.&4.变量的指针,其含义是指该变量的(未填)错误正确答案:BA.值B.地址C.名D.标志5.若定义:int a=511,*b=&a;则printf("%d\n",*b);的输出结果为(未填)错误正确答案:DA.无确定B.a的地址C.512D.5116.若有以下定义int a[10],*p=a;则p+5表示(未填)错误正确答案:AA.元素a[5]的地址B.元素a[5]的值C.元素a[6]的地址D.元素a[6]的值7.下列变量名中合法的是(未填)错误正确答案:AA.TomB.3a6bC.6a7bD.5ABC8.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(未填)。
错误正确答案:CA.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任一字符9.表达式18/4*sqrt(4.0)/8值的数据类型为(未填)。
错误正确答案:CA.intB.floatC.doubleD.不确定10.若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是(未填)。
错误正确答案:CA.A%2==1B.!(A%2==0)C.!(A%2)D.A%211.下列数据中,为字符的是(未填)。
错误正确答案:DA.‘AB’B."A"C.HowD.'A'12.下列不合法的实数是(未填)错误正确答案:CA.34.65B.6.3E2C.e3D.54.313.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为(未填)。
C语言题库
![C语言题库](https://img.taocdn.com/s3/m/6efcae1d8e9951e79b8927ff.png)
第一章C语言概述一、选择题:1、一个C程序的执行是从( A )。
A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在 C 语言中,每个语句必须以( D )结束。
A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置( C )。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、一个C 语言程序是由( B )。
A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成5、下列说法中错误的是( D )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。
A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件二、填空题:1、C 语言只有 32 个关键字和 9 种控制语句。
2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C 语言程序。
3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。
4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函数 printf 完成的。
5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。
6、C 语言的标识符只能由字母、数字和下划线三种字符组成。
第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的 C 语言浮点型常量是( C )。
c语言基础试题库及答案
![c语言基础试题库及答案](https://img.taocdn.com/s3/m/27cd1ab3250c844769eae009581b6bd97e19bc58.png)
c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。
答案:int2. 在C语言中,________关键字用于定义一个指针。
答案:*3. C语言中,________关键字用于定义一个函数。
答案:int4. 在C语言中,________运算符用于求两个数的和。
答案:+5. C语言中,________运算符用于判断两个数是否相等。
答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。
答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。
函数调用则是通过函数名和参数列表来调用已定义的函数。
2. 解释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("Sum of even numbers from 1 to 100 is: %d", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。
c语言考试题库
![c语言考试题库](https://img.taocdn.com/s3/m/ccb31eb67e21af45b207a8d7.png)
1.程序输出结果是。
typedef union{ long i;int k[5];char c;} DATE;struct date{ int cat;DATE cow;double dog;} too;DATE max;main(){printf("%d\n", sizeof(struct date) + sizeof(max) );}A、30B、25C、18D、82.根据以下定义,能输出字母M的语句是。
struct person{ char name[9];Int age;};struct person class[4]={{"John",17},{"Paul",19},{"Mary",18},{"Adam",16}};A、printf("%c\n",class[3].name[1]);B、printf("%c\n",class[2].name[0]);C、printf("%c\n",class[2].name[1]);D、printf("%c\n",class[3].name);3.使用共用体变量,不可以()。
A、同时访问所有成员B、进行动态管理C、简化程序设计D、节省存储空间4.在定义构造数据类型时,不能()。
A、说明变量B、说明存储类型C、末尾不写分号D、初始化5.设有以下语句struct st{ int n;struct st *next;};struct st a[3]={5,&a[1],7,&a[2],9,NULL}, *p;p = &a[0];则值为6的表达式是。
A、(*p).n++B、p->n++C、++p->nD、p++->n6.C语言中,定义结构体的保留字是()。
C语言试题库(完整版)
![C语言试题库(完整版)](https://img.taocdn.com/s3/m/c1bdf96276232f60ddccda38376baf1ffd4fe359.png)
C语言试题库(完整版)C语言试题库一、单项选择第一章 C语言概述1) 一个C程序的执行是从本程序的MAIN函数开始,到MAIN函数结束。
2) 以下叙述正确的是:一个C源程序可由一个或多个函数组成。
3) C语言规定,在一个源程序中,MAIN主函数的位置可以在任意位置。
4) 一个C程序是由函数组成。
5) 以下叙述不正确的是:在C程序中,注释说明只能位于一条语句的后面。
第二章数据类型、运算符与表达式1) 若x。
i。
j。
k都是int型变量,则计算下面表达式后,x的值为x=52.2) 下列四组选项中,均不是C语言键字的选项是:define。
IF。
type。
3) 下面四个选项中,均是不合法的用户标识符的选项是:1a0.b-a。
XXX。
4) 若有代数式3ae/bc,则正确的C语言表达式是:3*a*e/b*c。
5) 已知各变量的类型说明如下:int k。
a。
b。
unsigned long w=5.double x=1.42.则以下不符合C语言语法的表达式是:x%(-3)。
第三章简单C程序设计C语言试题库一、单项选择第一章 C语言概述1.一个C程序的执行是从本程序的MAIN函数开始,到MAIN函数结束。
2.以下叙述正确的是:一个C源程序可由一个或多个函数组成。
3.C语言规定,在一个源程序中,MAIN主函数的位置可以在任意位置。
4.一个C程序是由函数组成。
5.以下叙述不正确的是:在C程序中,注释说明只能位于一条语句的后面。
第二章数据类型、运算符与表达式1.若x。
i。
j。
k都是int型变量,则计算下面表达式后,x的值为x=52.2.下列四组选项中,均不是C语言关键字的选项是:define。
IF。
type。
3.下面四个选项中,均是不合法的用户标识符的选项是:1a0.b-a。
XXX。
4.若有代数式3ae/bc,则正确的C语言表达式是:3*a*e/b*c。
5.已知各变量的类型说明如下:int k。
a。
b。
unsignedlong w=5.double x=1.42.则以下不符合C语言语法的表达式是:x%(-3)。
C语言试题库(含答案)
![C语言试题库(含答案)](https://img.taocdn.com/s3/m/a5cbf0d85022aaea998f0f7a.png)
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;
c语言考试题库及答案
![c语言考试题库及答案](https://img.taocdn.com/s3/m/c44371bf710abb68a98271fe910ef12d2af9a9d4.png)
c语言考试题库及答案一、选择题1. 下列哪个关键字是C语言中定义函数的关键字?A. funcB. defC. mainD. int答案:C. main2. 下列哪个选项是C语言中的注释符号?A. //B. **C. <>D. ##答案:A. //3. 下列哪个选项是C语言中的逻辑与运算符?A. ||B. &&C. !D. <答案:B. &&二、填空题1. 完成以下C语言代码,实现两个变量的值交换。
```int a = 10;int b = 20;// 在这里填写代码printf("a = %d, b = %d", a, b);```答案:```int temp = a;a = b;b = temp;```2. 完成以下C语言代码,实现输出1~10的累加和。
```int sum = 0;int i;for (i = 1; i <= 10; i++) {// 在这里填写代码}printf("Sum = %d", sum);```答案:```sum += i;```三、编程题编写一个程序,实现输入两个整数,输出它们的最大公约数。
答案:```c#include <stdio.h>int main() {int num1, num2, i, gcd;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);for (i = 1; i <= num1 && i <= num2; ++i) {if (num1 % i == 0 && num2 % i == 0) {gcd = i;}}printf("最大公约数为:%d", gcd);return 0;}```四、简答题1. C语言中的数据类型有哪些?请至少列举出5个。
C语言考试题库及答案
![C语言考试题库及答案](https://img.taocdn.com/s3/m/544d8e3ecd7931b765ce0508763231126edb7732.png)
C语言考试题库及答案1. 以下不是C语言的特点的是( C )A、C语言简洁,紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言的移植性好2. 一个C程序是由()BA、一个主程序和若干个子程序组成B、一个或多个函数组成C、若干过程组成D、若干子程序组成3.以下描述正确的是( ) CA、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。
C、在do-while循环体中,不一定要有能使while后面表达式的值变成零(“假”)的操作。
D、do-while循环中,根据情况可以省略while。
4.以下对一维整形数组a的正确说明是( ) DA、int a(10);B、int n=10,a[n];C、int n;D、int a[10];5.以下对二维数组a的正确说明是( ) CA、inta[3][];B、float a(3,4);C、double a[1][4];D、float a(3)(4);6.数组名作为实参传给被调用的函数时,形参获得的是()CA、该数组第一个元素的值B、该数组所有元素的值C、该数组第一个元素的首地址D、该数组所有元素的首地址7. C程序的开始是从()AA、main()函数开始,直到main()函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main()函数开始,直到最后一个函数结束8.在C程序中,main()函数的位置()CA、必须作为第一个函数B、必须作为第二个函数C、可以任意D、必须放在它所调用的函数之后9. C编译程序是()CA、C语言的机器语言版本B、一组机器语言指令C、将C源程序编译成目标程序的程序D、是由自己编制的10.以下叙述中错误的是( )CA、C程序经过编译、连接之后形成一个真正可执行的二进制机器指令文件B、用C语言编写的程序称为源程序,它以ASCⅡ代码形式存放在文件中C、C语言中的每条可执行语句和非执行语句最终被转换成二进制的机器指令非执行的语句不转换:例如//和/**/是注释的意思D、C语言源程序经编译后生成后缀为.obj的目标程序1.以下不正确的C语言标识符是( )D字母,数字,下划线组成,但是不能以数字开头A、ABCB、abcC、a_bcD、ab.c12.一个C语言程序是由( ) BA、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成13.以下叙述错误的是( ) C算法可以没有输入输入,但是一定不能没有输出A、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有个相同的结果14.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+ i*f值的数据类型为( ) C强制类型转换A、intB、floatC、doubleD、不确定15.以下叙述中错误的是( )CA、结构化程序由顺序、分支、循环三种基本结构组成B、C语言是一种结构化程序设计语言C、使用三种基本结构构成的程序只能解决简单问题D、结构化程序设计提倡模块化的设计方法16.以下叙述中错误的是()CA、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有相同的结果17.以下选项中关于程序模块化的叙述错误的是()BA、把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B、可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C、把程序分成若干相对独立的模块,可便于编码和调试D、可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序18. 关于C语言的符号常量,以下叙述中正确的是()CA、符号常量的名是标识符,必须大写B、符号常量的名是标识符,必须小写C、符号常量是指用一个符号名来代表一个常量D、符号常量的符号名必须是常量19.关于C语言的变量,以下叙述中错误的是()BA、所谓变量是指在程序运行过程中其值可以被改变的量B、变量所占的存储单元地址可以随时改变C、程序中用到的所有变量都必须先定义后使用D、由三条下划线构成的符号名是合法的变量名20.以下选项中合法的变量名是()CA、5aB、A%C、_10_D、sizeof21.在C语言中,char型数据在内存中的存储形式是( ) DA、补码B、反码C、源码D、ASCII码22.有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。
大学c语言试题题库及答案
![大学c语言试题题库及答案](https://img.taocdn.com/s3/m/e3e58c117ed5360cba1aa8114431b90d6c8589f4.png)
大学c语言试题题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种面向对象的语言D. C语言不支持函数答案:A2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. intD. _int答案:B4. C语言中,用于定义一个浮点型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:B5. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. +答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A7. 在C语言中,用于定义一个字符型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:C8. C语言中,用于声明一个函数的关键字是:A. intB. floatC. voidD. return答案:C9. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C10. 在C语言中,用于定义一个字符串常量的语法是:A. "Hello"B. 'Hello'C. "Hello"[10]D. 'Hello'[10]答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以连接两个字符串。
答案:+2. C语言中的________关键字用于声明一个无返回值的函数。
c语言考试题库及答案
![c语言考试题库及答案](https://img.taocdn.com/s3/m/5d479497cf2f0066f5335a8102d276a2002960c5.png)
c语言考试题库及答案C语言考试题库及答案一、选择题1. C语言中,用于表示逻辑“与”操作的关键字是()。
A. &&B. ||C. &D. or答案:A2. 下列哪个选项是C语言中的合法整型常量?A. 0x10FB. 01FC. 8181D. 0.8181答案:A3. 在C语言中,定义一个字符变量可以使用哪种数据类型?A. intB. floatC. charD. double答案:C4. 下列哪个函数用于计算字符串的长度?A. strlen()B. strcmp()C. strcpy()D. printf()答案:A5. C语言中,若要交换两个变量的值,通常使用哪种方法?A. 递归调用B. 位运算C. 三元运算符D. 临时变量答案:D二、填空题1. 在C语言中,使用关键字________声明一个全局变量。
答案:extern2. 一个C语言程序的执行是从________函数开始的。
答案:main3. 在C语言中,使用________运算符可以实现对整型数值的强制类型转换为浮点型。
答案:(float)4. 为了在C语言中定义一个无限循环,可以使用________语句。
答案:while(1)5. 当需要在C语言中动态分配内存时,可以使用函数________。
答案:malloc三、判断题1. C语言中的数组下标是从1开始的。
(错)答案:错2. 在C语言中,函数可以作为另一个函数的参数传递。
(对)答案:对3. C语言中,结构体是一种可以包含不同数据类型成员的用户自定义数据类型。
(对)答案:对4. 使用C语言编写的程序在运行时,所有的变量存储在堆内存中。
(错)答案:错5. C语言中的指针变量必须在使用前初始化。
(错)答案:错四、简答题1. 请简述C语言中的指针和引用的主要区别。
答案:指针是一个变量,其值为另一个变量的地址,而引用是另一个变量的别名,它必须在定义时初始化,并且不能重新指向其他变量。
C语言题库
![C语言题库](https://img.taocdn.com/s3/m/21d0b03c050876323012125c.png)
一、判断题(每题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语言入门题库
![C语言入门题库](https://img.taocdn.com/s3/m/56be3e0e581b6bd97f19ea59.png)
A.D B.68 C.C D.不确定的值
11、执行下面程序段的输出结果为B。
int x=13,y=5;
cout<<y/2;
A.3 B.2 C.1 D.0
12、对于int型变量k1,k2,k3,k4,若用以下语句:
cin>>i>>s;
s=s*(1+i);
cout<<"一年后我有"<<s<<"元";
7、信函的重量不超过100g时,每20g付邮资80分,即信函的重量不超过20g时,付邮资80分,信函的重量超过20g,不超过40克时,付邮资160分,编写程序输入信函的重量,输出应付的邮次(注意:本题不使用分支结构,使用顺序结构,假设输入的信函重量不超过100克)。
dollar=rmb/8.27;
cout<<rmb<<"元人民币,能兑换"<<dollar<<"美元";
}
6、编写程序输入年利率i(例如2%),存款总数s(例如50000元),计算一年后的本息合计并输出。
#include<iostream.h>
void main()
{
float i,s;
cout<<"请输入年利率和存款数:";
A. 7 B. 2 C. 3 D. 6
11、下面程序的输出结果是a=2,b=1。
void main()
{ int x=1,y=0,a=0,b=0;
(完整版)C语言考试题库及答案
![(完整版)C语言考试题库及答案](https://img.taocdn.com/s3/m/a6d70df7dbef5ef7ba0d4a7302768e9951e76ed9.png)
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
C语言题库(带详解答案)
![C语言题库(带详解答案)](https://img.taocdn.com/s3/m/99eb7eb8d0d233d4b14e69b5.png)
一单项选择题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)。
C语言题库
![C语言题库](https://img.taocdn.com/s3/m/b779db22f68a6529647d27284b73f242336c31fd.png)
C语言题库1. 输入一个整数,判断它是几位数?(*)2. 编制一函数,得到一个整数的某一位的数字。
(*)3. 求出所有的水仙花数。
水仙花数是一个三位数,其各位数字的立方和等于该数。
例如153=1^3+5^3+3^3。
(**)4、编写函数fun求1000以内所有7的倍数之和。
(*)int fun(int m){ }5、将一个数组中的元素按逆序存放。
(*)6、输入三个整数x,y,z,请把这三个数由小到大输出。
(*)7、递归调用计算阶乘, 输入n,求n的阶乘(*)8、删除字符串中的数字字符。
例如:输入字符串:48CTYP9E6,则输出:CTYPE。
(**)9、计算并输出500以内最大的10个能被13或17整除的自然数之和。
(*)10、统计一个字符串中的字母、数字、空格和其它字符的个数。
(*)11、不用第三个变量,实现两个数的对调操作。
(**)12、求1!+3!+5!+……+n!的和。
(**)13、求一批数中最大值和最小值的差。
(*)14、编写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。
每一分数的分母是前两项的分母之和;每一分数的分子是前两项的分子之和。
例如:求前20项之和的值为32.660259。
(**)15、打印出如下图(菱形)(**)*************************16、用冒泡法对数组a进行由小到大的排序。
(*)17、求出二维数组中的最大元素值(*)18、输入一个字符串,对字符串逆序输出(*)19、已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。
编程打印此数,直到某项的值超过200为止。
(***)20、计算平均成绩并统计90分以上人数。
(*)21、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(***)22、判断101-200之间有多少个素数,并输出所有素数。
C语言题库(含答案)
![C语言题库(含答案)](https://img.taocdn.com/s3/m/67592878f11dc281e53a580216fc700abb6852f8.png)
C语言题库(含答案)一、简答题。
( 共14题 ,共0分,每题0分 )1. int i=10, j=10, k=3; k*=i+j; k最后的值是?答:k = 60ok2. 写出程序结果:void Func(char str[100]){printf("%d\n", sizeof(str));}答:4或者8(如果操作系统为32位则为4,64位则为8)是地址吗3. 写出sizeof(struct name2)的结果struct name2{char str;int num;short x;}不会!看结构答:此题考察结构对齐的知识,结果为124. 写出sizeof(struct name1) 的结果struct name1{char str;short x;int num;}不会!答:同样考察的是结构对齐的知识,结果为85. A.c 和B.c两个c文件中使用了两个相同名字的static变量,编译的时候会不会有问题?这两个static变量会保存到哪里(栈还是堆或者其他的)?答:没有问题,static变量只在当前文件中有效,也就是说static 变量的作用域属于所在的文件域。
static变量保存在全局/静态区6. (void *)ptr 和(*(void**))ptr的结果是否相同?答:相同。
首先第一个(void *)ptr将ptr转换为空指针类型(一级指针),(*(void**))ptr相当于先将ptr转换为空类型指针(二级指针)。
二级指针是指向指针的指针,在前面加上*(解指针),也就是空类型指针了(一级指针)。
7. #define DOUBLE(x) x+x ,i = 5*DOUBLE(5);i 是多少?答: i = 5 * 5+5 = 30;看书上的结构理解下意思8. 下面的声明都是什么意思?const int a;int const a;const int *a;int * const a;int const * const a ;答:第一个定义常量a,第二个也是定义常量a,第三个定义常量指针a,第四个定义指针常量a,第五个定义指向常量的指针常量(相当于const引用)。
C语言题库
![C语言题库](https://img.taocdn.com/s3/m/303a91b5d0d233d4b14e69ee.png)
第一章概述一、单选题1、C语言的前身是(B )。
A.A语言B.B语言C.C++语言D.BASIC语言2、C语言规定,必须用(C )作为主函数名。
A.FunctionB.includeC.mainD.void3、一个C程序可以包含任意多个不同名的函数,但有且仅有一个(B )。
A.过程B.主函数C.函数D.进程4、一个C程序总是从(B )开始执行。
A.过程B.主函数D.进程5、C程序的基本构成单位是(A )。
A.函数B.过程C.进程D.子程序6、下列说法正确的是( D)。
A.main函数必须放在C程序的开头B.main函数必须放在C程序的最后C.main函数可以放在C程序中间部分,执行C程序时是从程序开头执行的D.main函数可以放在C程序中间部分,执行C程序时是从main函数开始的7、下列说法正确的是(C )。
A.在执行C程序时不是从main函数开始的B.C程序书写格式严格限制,一行内必须写一个语句C.C程序书写格式自由,一个语句可以分写在多行上D.C程序书写格式严格限制,一行内必须写一个语句,并要有行号8、在C语言中,每个语句和数据定义结束都是用( C)。
A.句号C.分号D.括号9、不是C语言提供的合法关键字(B )。
A.switchB.printfC.caseD.default10、不是C语言提供的合法关键字(D )。
A.intB.floatC.charD.scanf11、C语言提供的合法关键字是( A)。
A.breakB.printfC.functionD.end12、C语言提供的合法关键字是( A)。
A.continueB.procedureC.begin13、下列说法正确的是(C )。
A.一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B.一个函数的函数体必须要有执行部分,可以没有变量定义C.一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D.一个函数的函数体必须要有变量定义,可以没有执行部分14、下列说法正确的是(D )。
c语言c语言考试题库及答案
![c语言c语言考试题库及答案](https://img.taocdn.com/s3/m/97e9dda09f3143323968011ca300a6c30c22f1be.png)
c语言c语言考试题库及答案一、选择题1. 在C语言中,用于定义变量的关键字是:A. defineB. varC. intD. let答案:C2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable-twoD. variable#答案:B3. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\tWorld"答案:A5. 以下哪个是C语言中的控制语句?A. ifB. switchC. both A and BD. none of the above答案:C二、填空题6. 在C语言中,一个基本的程序结构包括____、____和____。
答案:预处理指令;函数定义;语句7. 一个C语言程序的执行从____函数开始。
答案:main8. 在C语言中,使用____关键字可以定义一个函数。
答案:void 或其他数据类型9. 一个C语言数组的元素默认情况下是按照____顺序存储的。
答案:连续10. C语言中的____运算符用于连接字符串。
答案:+三、简答题11. 解释C语言中指针的概念。
答案:指针是一种变量,它存储了另一个变量的内存地址。
通过指针,可以直接操作内存地址中的数据,实现数据的间接引用。
12. 描述C语言中结构体的定义和使用。
答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的变量组合成一个单一的类型。
定义结构体时,使用struct关键字,然后定义结构体的名称和成员。
使用结构体时,可以创建结构体变量,并通过点(.)运算符访问其成员。
四、编程题13. 编写一个C语言程序,计算并输出1到100的整数之和。
c语言题库
![c语言题库](https://img.taocdn.com/s3/m/6608a7a75901020206409c54.png)
37.下面语句中,符合C语言语法的赋值语句是(未填)错误正确答案:D
A.a=7+b+c=5a+7;
B.a=7+b++=a+7;
C.a=7+b=b++,a+7;
D.a=7+b;c=a+7;
38.已知inti,a;执行语句”i=(a=2*3,a*5),a+6;”后,变量a的值是(未填)。错误正确答案:A
B.1
C.5
D.6
16.已知int a='R';则正确的表达式是(A)。正确
A.a%10
B.a=int(3e2)
C.2*a=a++
D.a=a+a=a+3
17.设X,Y,Z和K是int型变量,则执行表达式:X=(Y=4,Z=16,K=32)后,X的值为(C)。正确
A.4
B.16
C.32
D.52
18.请读程序:
D.switch(grade){case’C’:printf(”<60\n”);break;case’B’:printf(”60——84\n”);break;default:printf(”grade is error!\n”);break;case ’A’:printf(”85——100\n”);}
#include<stdio.h>
main()
{ int m=13;
float a=12.6, x;
x=m/2+a/2;
printf(“%f\n”, x);
}
错误正确答案:B
A.12.000000
B.12.300000
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 输入一个整数,判断它是几位数?(*)2. 编制一函数,得到一个整数的某一位的数字。
(*)3. 求出所有的水仙花数。
水仙花数是一个三位数,其各位数字的立方和等于该数。
例如153=1^3+5^3+3^3。
(**)4、编写函数fun求1000以内所有7的倍数之和。
(*)int fun(int m){ }5、将一个数组中的元素按逆序存放。
(*)6、输入三个整数x,y,z,请把这三个数由小到大输出。
(*)7、递归调用计算阶乘, 输入n,求n的阶乘(*)8、删除字符串中的数字字符。
例如:输入字符串:48CTYP9E6,则输出:CTYPE。
(**)9、计算并输出500以内最大的10个能被13或17整除的自然数之和。
(*)10、统计一个字符串中的字母、数字、空格和其它字符的个数。
(*)11、不用第三个变量,实现两个数的对调操作。
(**)12、求1!+3!+5!+……+n!的和。
(**)13、求一批数中最大值和最小值的差。
(*)14、编写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。
每一分数的分母是前两项的分母之和;每一分数的分子是前两项的分子之和。
例如:求前20项之和的值为32.660259。
(**)15、打印出如下图(菱形)(**)*************************16、用冒泡法对数组a进行由小到大的排序。
(*)17、求出二维数组中的最大元素值(*)18、输入一个字符串,对字符串逆序输出(*)19、已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。
编程打印此数,直到某项的值超过200为止。
(***)20、计算平均成绩并统计90分以上人数。
(*)21、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(***)22、判断101-200之间有多少个素数,并输出所有素数。
(**)23、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
1.程序分析:采取逆向思维的方法,从后往前推断。
(***)24、编写函数fun,函数的功能是:求一组数中大于平均值的数的个数。
例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。
int fun(int a[],int n){ }(*)25、一个5位数,判断它是不是回文数。
即12321是回文数,个位与万位相同,十位与千位相同。
(*)26、有n个人围成一圈,顺序排号。
从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
(***)27、给出一个整型数组并构造单链表,链表的每个节点包含一个整形数和节点指针(***)1.打印链表(PrintList)2.建立链表(CreateList)3.链表末尾插入节点(InsertList)4.链表中删除指定节点(DeleteNode)5.找链表中第一个出现的最小节点(FindMin)28.编程打印图形(考虑将输出的行数由输入的值来控制):(***)11211232112343211234543211234565432129、编写程序,求sum =1-3+5-7+……-99+101 (**)30.求斐波那契数列前40个数。
(***)31.求1000以内的所有完全数。
(完全数:一个数恰好等于它的因子之和。
例如:6 =1+2+3)(***)32.输入一行字符,统计其中有多少个单词,单词之前用空格隔开。
(***)33.输出一下杨辉三角。
(***)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1. . . . . . . . . .34.用插入法对数组中10个整数按从小到大的顺序排序。
(*)35.编写一个函数,将字符数组S2中的全部字符复制给字符数组S1,不用strcpy函数。
’\0’后面的字符不复制。
(**)36.用递归法将一个整数n转换成字符串,例如输入483,应输出字符串“483”。
n的位数不确定,可以是任意位数的整数。
(***)37.第一个带参数的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。
输入已交换后的两个值。
(*)38.定义一个二维数组,在主函数中自动赋值。
请编写函数void fun(int a[ ][n]),函数实现的功能是:使数组左下半三角元素的值全部置0.(*)39.求a 和b 的最大公约数和最小公倍数。
(**)40.打印乘法口诀表(*)41.求18的20次方的最后4位。
(**)42.一辆卡车违反了交通规则,撞人之后逃跑。
现场有三位目击事件,但都没有记住车号,只记住车号的一些特征。
甲说:牌照的前两位数子相同,乙说:牌照的后两位数也相同,但与前两位不同。
丙说:四位的车号刚好是一个整数的平方。
请根据以上线索求出车号。
(**)43.公鸡五元一只,母鸡三元一只,小鸡三只一元。
现想要用一百块钱去买一百只鸡,请问有几种方案?(***)44.现有一堆零件,如果两个零件为一组则最后剩一个零件。
如果三个零件为一组,则最后剩两个零件,如果五个零件为一组则最后剩四个零件,如果六个零件为一组则最后剩五个零件.只有七个零件为一组得时候才刚好不剩。
请问一共有多少个零件?(*)45.一个球从100米高度自由落下,每次落地后反跳回原高度得一半,再落下,再反弹。
求它在第10次落地时,共经过多少米?第10次反弹多高?(***)46.求Sn=a+aa+aaa+aaaa+…+aaaaa…a(n个a)之值,其中a是一个数字,n表示a的位数。
n 由键盘输入。
(**)47.找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,该列上最小,也可能没有鞍点。
(***)48.输出以下图案:(**)* * * * ** * * * ** * * * ** * * * ** * * * *49.写一个函数,使给定的3*3的二维整型数组转置,即行列互换。
(*)50.写一个函数,输入一行字符,将此字符串中最长的单词输出。
(***)51.写一个函数,输入一个十六进制,输出相应的十进制。
(***)52.给出年、月、日,计算该日是该年的第n天。
(***)53.用指针方法处理:有一个字符串,包含n个字符。
写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符。
(**)54.将一个5*5的矩阵中最大的元素放在中心,4个角放最小的元素。
(*)55.用指针的方法,写一个函数实现两个字符串的比较。
(***)56.将若干字符串按字母顺序(从小到大)输出。
(用指针)(**)57.有若干学生的成绩(每个学生有4门课),要求找出其中不及格课程的学生及其学生号。
(用指针)(***)58.用pi/4 = 1 - 1/3 + 1/5 - 1/7…公式求pi的近似值,直到某一项的绝对值小于10e-6为止。
(***)59.根据公式e = 1+1/1!+1/2!+1/3!+1/4!+…求e的近似值,精度要求为10的-6方。
60.输出1~1000以内所有的完全数。
61.找出1000以内的所哟同构数。
同构数:一个数出现在它的平方和的右边。
比如5是25右边的数,25是625右边的数。
5和25都是同构数。
62.输出一下9阶方程。
1 1 1 1 1 1 1 1 11 2 2 2 2 2 2 2 11 2 3 3 3 3 3 2 11 2 3 4 4 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 4 4 3 2 11 2 3 3 3 3 3 2 11 2 2 2 2 2 2 2 11 1 1 1 1 1 1 1 163.输入0~9之间的数,知道输入-1表示结束,打印每个数的出现次数。
64.从键盘输入一个字符,用折半查找法查找该字符在已排序的字符串a中的位置。
65.从键盘输入一个大写英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。
如指定字母为Z。
则打印YZA。
66.将字符串a中下标值为偶数的元素由小到大排序,其他元素不变。
67.有十个字符串,按从小到大排序。
68.打印一个n(n < 10)阶的螺旋方阵。
1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 969.从键盘输入一个字符串a,并在a串中的最大元素后面插入字符串b。
70.输入一个偶数,将偶数写成两个素数之和的形式。
例如,8=3+571.函数del的作用是删除已按升序排列的数组a中指定元素x。
72.从键盘输入一个整数m(4<=m<=20),输出如下的整数方阵。
如输入416 9 4 19 4 1 164 1 16 91 16 9 473.函数fun的功能是从3个红球,5个白球,6个黑球中任意取出8个,其中必须要有红球和白球,输出所有方案。
74.统计字串在母串出现的次数。
如字串”abc”在母串”abcuiwsdhiabcsjhd”,出现的次数为2次。
(用指针)75.在字符串str中找到最大的字符并放在第一个位置上,并将该字符前的原字符往后顺序移动。
如chyab变成ychab。
(用指针)76.删除字符串s中的所有空格。
(用指针)77.从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。
(用指针)78.找出英文句子中最长的单词并打印。
假设该句子中只含字母和空格,单词之间以空格隔开。
79.检查字符串s中左括号‘(’和右括号‘)’是否输入正确。
当输入‘)’时要考虑‘)’的个数不能大于‘(’。
字符串结束后右括号的个数也左括号的个数相等。
80.求矩阵A的转置矩阵B,并打印两个矩阵。
81.把十进制整数转换成二进制数,打印输出。
82.给方阵a中所有边上的元素和两个对角线上的元素置1,其他元素置0。
要求对每个元素只能置一次值。
83.将字符串computer赋给一个字符数组,然后从第一个字母开始间隔输出该串。
用指针编写。
84.结构体。
按学生姓名查询其排名和平均分。
查询可连续进行,直到输入0时结束。
85.结构数组中存有3人的姓名和年龄,输入3人中年龄居中者的姓名和年龄。
86.统计学生的成绩,其功能包括输入学生姓名和成绩,按成绩从高到低排列打印输出,对前70%的学生定为合格,对后30%的学生定为不合格。
87.计算循环单链表中每3个相邻节点数据域中的和,并返回其中最小值。
88.读入两个学生的情况存入结构数组,每个学生的情况包括:姓名、学好、性别。
若是男生,则还登记视力是否正常(正常Y,不正常N),对女生则还登记身高和体重。