c程序题库1

合集下载

C语言程序设计题库

C语言程序设计题库

第五章函数5.1 选择题1. C语言是由()构成。

A. 主程序和子程序B. 主函数和若干子函数C. 一个主函数和一个其他函数D. 主函数和子程序2.以下说法中正确的是()。

A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3.以下对C语言函数的有关描述中,正确的是()。

A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B. C函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C程序中有调用关系的所有函数必须放在同一个源程序文件中4. C语言程序中,当函数调用时()。

A. 实参和形参各占一个独立的存储单元B. 实参和形参共用一个存储单元C. 可以由用户指定是否共用存储单元D. 计算机系统自动确定是否共用存储单元5.关于return语句,下列正确的说法是()。

A. 在主函数和其他函数中均要出现B. 必须在每个函数中出现C. 可以在同一个函数中出现多次D. 只能在除主函数之外的函数中出现一次6.一个函数返回值的类型是由()决定的。

A. return语句中表达式的类型B. 在调用函数时临时指定C. 定义函数时指定的函数类型D. 调用该函数的主调函数的类型7.在C语言的函数中,下列正确的说法是()。

A. 必须有形参B. 形参必须是变量名C. 可以有也可以没有形参D. 数组名不能作形参·2·C语言程序设计之上机指导及同步训练8.以下描述正确的是()。

A. 函数调用可以出现在执行语句或表达式中B. 函数调用不能作为一个函数的实参C. 函数调用可以作为一个函数的形参D. 以上都不正确9.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。

A. 地址传递B. 单向值传递C. 由实参传给形参,再由形参传回实参D. 传递方式由用户指定10.当调用函数时,实参是一个数组名,则向函数传送的是()。

程序设计基础C-题库-1

程序设计基础C-题库-1
10、C语言是UNIX和其衍生版本的主要开发语言。 答案: 正确
11、请简述printf()函数的作用。 答案:
printf()printf()“Hello, world\n”“\n”
12、请简述C语言中main()函数的作用。 答案: main函数是C程序的入口函数,即程序的执行是从main函数开始
程序设计基础C-题库
1、计算机语言按照高低级别可分为机器语言、 、 三大类。 答案: 汇编语言 ; 高级语言 ;
2、C语言中源文件的后缀名为 。 答案: *.c;.c ; 解析:
3、在程序中,如果使用printf()函数,应该包含 头文件。 答案: stdio.h ; 解析:
4、在main()函数中,用于返回函数执行结果的是 语句。 答案: return ;
15、下列关于主函数说法错误的是( )
A、 一个C程序中只能包含一个主函数 B、 主函数是C程序的入口 C、 C程序中可以包含多个主函数 D、 主函数只能包含输出语句 答案: CD
16、下列选项中,不属于C语言优点的是
A、 不依赖计算机硬件 B、 简洁、高效 C、 可移植 D、 面向对象 答案: D
5、C语言程序在Windows平台下经过编译、连接后生成的可执行文件后缀是 。 答案: .exe ;
6、C语言并不属于高级语言。 答案: 错误
7、计算机语言(Computer Language)是人与计算机之间通信的语言。 答案: 正确
8、C语言并不能实现汇编语言的大部分功能。 答案: 错误
9、Eclipse工具和Visual Studio工具都可以开发C语言。 答案: 正确
17、下列选项中,哪一个是多行注释?
A、 // B、 /**/ C、 \\ D、 以上均不属于 答案: B

C语言程序设计-第1-7章选择、填空习题及答案

C语言程序设计-第1-7章选择、填空习题及答案

习题一一、选择题1.C程序的基本单位是(A)。

A.函数B.文件C.语句D.字符2.C程序中的变量(B)。

A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。

A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。

A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。

2.结构化程序由顺序、选择、循环三种基本结构构成。

3.一个C程序只有一个名为main的主函数。

4.C程序中的每个语句以分号结束。

5.C程序中,函数由函数首部和函数体组成。

6.每个基本结构有一个入口和一个出口,没有死循环和死语句。

7.算法是计算机解决问题所依据的步骤。

习题二一、选择题1.下列数据中属于字符串常量的是( B)。

A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。

A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。

A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。

A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。

A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。

A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。

A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。

A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。

A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/2 10.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。

C语言程序设计(第三版)习题库(1)

C语言程序设计(第三版)习题库(1)

C 语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。

请编程序。

#include <stdio.h>main(){float r,h,C1,Sa,Sb,Va,Vb;scanf(“%f ”,&r);scanf(”%f ”,&h );;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf(“周长=%.2f ,面积=%2f,表面积=%.2f,圆球体积=%.2f,圆柱体积=.2f,C1,Sa,Sb,Va,Vb );}2、输入一个华氏温度,要求输出摄氏温度。

公式为 c=5(F-32)/9输出要求有文字说明,取位2小数。

#include <stdio.h>main(){float F,c;scanf("%f",&F);c=5*(F-32)/9;printf("c=%.2f",c);}3、有一函数:⎪⎩⎪⎨⎧≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。

#include <stdio.h>main(){int x,y;printf("输入x :");scanf("%d",&x);if(x<1) { /* x<1 */y=x;printf("x=%3d, y=x=%d\n",x,y);} else if (1<=x-10){ /* 1≤x -10 */ 或x<10y=2*x-1;printf("x=%3d, y=2*x-1=%d\n",x,y);} else{ /* x≥10 */y=3*x-11;printf("x=%3d, y=3*x-11=%d\n",x,y);}}4、给定一个不多于5位的正整数,要求:①求它是几位数;②按逆序打印出各位数字。

c语言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语言程序设计期末考试试题及答案

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语言程序设计题库及答案

第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。

A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。

A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。

A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。

A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。

A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。

A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。

A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。

A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。

A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。

A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。

A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。

for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。

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

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

《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。

A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。

A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。

A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。

x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。

A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。

A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。

A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。

A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。

A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。

A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。

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

C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间 120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷本卷共70分,其中第1~26题每题2分,第27~32题每题3分。

第一部分:基础知识1、一个C语言程序是从______开始执行的。

A、程序中的第一个语句B、包含文件(头文件)的第一个函数C、名为main的函数D、程序中的第一个函数2、语句while(!E) { ……}中的条件!E等价于_____ A、E==0 B、E!=1 C、E!=0 D、~E3、若有以下类型说明语句: char w; int x; float y; double z;则表达式w*x+z-y的结果为_____类型。

A、float B、double C、int D、char4、一个函数返回值的类型是由____决定的A、return语句中的表达式类型;B、定义函数时所指定的函数类型C、调用该函数的函数的类型D、调用函数时临时类型5、设x、y、z和k都是int型变量,则执行下列表达式后,变量x的值为_____. x=(y=4,z=16,k=32);A、4B、16C、32D、526、有以下程序: main( ){ int i=10,j=1;printf(“%d,%d\n”,i--,++j); }执行后输出的结果是________A、9,2B、10,2C、9,1D、10,17、以下指针s的指字符串的长度为_______ char *s=”\t\‟Name \\Address\n”; A、19 B、15 C、18 D、-128、设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是____ A、3 B、0 C、9 D、-129、对于下面的for循环语句,可以断定它____。

for(x=0,y=0;(y!=123)&&(x<4);x++) printf(“--------“);A、是无限循环(死循环)B、循环次数不定C、共执行4次循环D、共执行3次循环10、设有以下语句,则_______不是对a数组元素的正确引用,其中int a[10]={0,1,2,3,4,5,6,7,8,9}; int *p=a;A、a[p-5]B、*(&a[i])C、a[i]D、*(a+i)11、为了判断两个字符串s1和s2是否相等,应当使用______ A、if(s1==s2) B、if(s1=s2)C、if(strcmp(s1,s2))D、if(strcmp(s1,s2)==0)12、对于C语言程序中的函数,下列叙述中正确的是______ A、函数的定义不能嵌套,但函数调用可以嵌套 B、函数的定义可嵌套,但函数的调用不能嵌套 C、函数的定义和调用均不能嵌套 D、函数的定义和调用均可嵌套 13、有以下程序 main() { int i;for(i=0;i<3;i++) switch(i){ case 1: printf(“%d”,i); case 2: printf(“%d”,i); default: printf(“%d”,i);} }执行后输出的结果是______A、011122B、012C、012020D、12014、假定有以下变量定义:int k=7, x=12;则能使值为3的表达式是____ A、x%=(k%=5) B、x%=(k-k%5) C、x%=(k-k%5) D、(x%=k)-( k%=5)15、以下程序的输出结果是_____ main(){ int x=4,y=8; x+=y;y+=x;printf(“%d %d\n”,x,y); }A、12 20B、4 8C、12 12D、8 416、有以下程序执行后输出的结果是_____ main(){ int x[8]={8,7,6,5,0,0},*s; s=x+3;printf(“%d\n”, s[2]); }A、随机值B、0C、5D、617、以下函数的功能是______ fun(char *s1,char *s2) { int i=0;while(s1[i]==s2[i] &&s2[i]!=‟\0‟)i++;return(s1[i]==‟\0‟&&s2[i]==‟\0‟); }A、将s2所指字符串赋给s1B、比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0C、比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0D、比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为018、以下叙述中正确的是____A、全局变量的作用域一定比局部变量的作用域范围大B、静态(static)类型变量的生存期贯穿于整个程序的运行期间C、函数的形参都属于全局变量D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值19、有以下程序,执行后输出的结果是____ main(){ int i=1,j=1,k=2; if ((j++||k++)&&i++)printf(“%d, %d,%d\n”,i,j,k); }A、1,1,2B、2,2,1C、2,2,2D、2,2,320、以下函数abc的功能是____ int abc(char *ps) { char *p; p=ps;while(*p++); return (p-ps); }A、比较两个字符串的大小B、求字符串的长度C、将串ps复制到串p中D、以上三种说法都不对第二部分:简单程序21、以下程序的输出结果是:_____ main( ){ int i=10,j=10;printf(“%d ,%d\n”,++i+j++,j--); }A、21,10B、20,10C、21,9D、20,922、以下程序的输出结果是:__________ main( ){ int m=5; if (m++>5) printf(“%d\n”,m); elseprintf(“%d \n”,m--); }A、7B、6C、5D、423、当a=1, b=3, c=5, d=4时,执行下面一段程序后,x的值为____ if (a<b) if(c<d) x=1; else if(a<c) if(b<d) x=2; else x=3; else x=6; else x=7;A、1B、2C、3D、624、以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。

出错的原因是_______ #include <stdio.h> main( ) { FILE *fout; char ch;fout=fopen( …abc.txt‟,‟w‟); ch=fgetc(stdin); while(ch!=‟#‟) {fputc(ch,fout); ch=fgetc(stdin); }fclose(fout); }A、函数fopen调用形式有误B、输入文件没有关闭C、函数fgetc调用形式有误D、文件指针stdin没有定义25、有以下程序,执行后输出结果是______ main(){union {unsigned int n; unsigned char c; }ul;ul.c=‟A‟;printf(“%c\n”,ul.n); }A、产生语法错B、随机值C、AD、65 26、有以下程序,执行后输出结果是_____ main() { int m[ ][3]={1,4,7,2,5,8,3,6,9}; int i,k=2;for(i=0; i<3; i++)printf(“%d”, m[k][i]);}A、4 5 6B、2 5 8C、3 6 9D、7 8 9 27、以下程序运行后,输出结果是_______ int func(int a, int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); }main(){ int k=4,m=1,n; n=func(k, m);printf(“%d,”, n); n=func(k, m);printf(“%d”, n); }A、8, 15B、8, 16C、8, 17D、8, 828、在执行以程序时,如果从键盘上输入:ABCdef,则输出结果为:____ #include <stdio.h> main( ) { char ch;while((ch=getchar())!=‟\n‟) { if(ch>=‟A‟&&ch<=‟Z‟) ch=ch+32;else if(ch>=‟a‟ && ch<=‟z‟) ch=ch-32;p rintf(“%c”,ch); }printf(“\n”); }A、ABCdefB、abcDEFC、abcD、DEF29、有以下程序,执行后输出结果是____ int *f(int *x, int *y) { if(*x<*y) return x; else return y; }main( ){ int a=7,b=8,*p,*q,*r; p=&a; q=&b; r=f(p,q);printf(“%d,%d,%d\n”,*p,*q,*r);}A、7, 8, 8B、7, 8, 7C、8, 7, 7D、8, 7, 8 30、下面程序的输出结果是_____ fun(char *s, int p1, int p2) { char c; while (p1<p2) { c=s[p1]; s[p1]=s[p2]; s[p2]=c; p1++;p 2--; } }main( ){ char a[ ]=”ABCDEFG”, k, *p; fun(a, 0, 2); fun(a, 4, 6);printf(“%s\n”,a); }A、ABCDEFGB、DEFGABCC、GFEDCBAD、CBADGFE 31、以下程序的运行结果是____ #include <stdio.h> long func(int x) { long p;if(x==0||x==1) return (2);p=x*func(x-1); return (p); }main( ) {printf(“%d \n”,func(4)); }A、8B、12C、24D、4832、下面的程序运行后,全局量t.x和t.s的正确结果为__________ struct tree { int x; char *s; }t;func(struct tree t) { t.x=10; t.s=”computer”; return(0); }main(){ t.x=1;t.s=”minicomputer”; func(t);printf(“%d, %s ”, t.x, t.s); }A、10, computerB、1, computerC、1, minicomputerD、10, minicomputer第二卷说明:(1)第二卷均为填空题,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句以构成一个正确的C语言程序。

相关文档
最新文档