《C程序设计》自测题1

合集下载

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

C语言程序设计__承德石油高等专科学校(5)--期中自测题

C语言程序设计__承德石油高等专科学校(5)--期中自测题

基础篇(一~五单元)自测题一 . 基础知识题1. 按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是()。

A. 大写字母B. 连接符C. 数字字符D. 下划线2. 对于一个正常运行的C 程序,以下叙述中正确的是()。

A. 程序的执行总是从main 函数开始,在main 函数结束B. 程序的执行总是从程序的第一个函数开始,在main 函数结束C. 程序的执行总是从main 函数开始,在程序的最后一个函数中结束D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束3. 以下合法的字符型常量是()。

A."x13'B."\018"C."65"D."\n"4. 下列运算符中,优先级最高的是()。

A.++B.%C.* (算术乘法)D.=5. 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。

A. k++B. k+=1C.++kD. k+16. 设变量均已正确定义,若要通过scanf("%d%c%d%c",&al,&cl,&a2,&c2); 语句为变量al 和a2赋数值10和20,为变量cl 和c2 赋字符X 和Y。

以下所示的输入形式中正确的是(注:□代表空格字符;对于%c来说,可接受键盘输入的任何符号.) ()。

A.10□X□20□Y<回车>B.10□X20□Y<回车>C.10□X<回车〉D.10X <回车>20□Y<回车> 20Y <回车>7. 有以下程序void main(){ int x=0x2F;printf("%d\n",x);}程序运行后的输出结果是()。

A.47B. 17C.2FD. 0x2F8.以下程序输出结果为()。

C语言程序设计自测题

C语言程序设计自测题

C语言程序设计自测题在计算机科学领域中,C语言是一种广泛使用的编程语言之一。

它是一种高级语言,具有对系统资源的直接访问能力以及强大的功能。

C 语言可以用于开发各种类型的应用程序,从简单的命令行工具到复杂的操作系统。

本文将为您提供一些关于C语言的自测题,帮助您检验自己在C语言程序设计方面的掌握程度。

这些问题将覆盖C语言的各个方面,包括基本语法、数据类型、运算符、条件语句、循环结构以及函数等。

问题一:基本语法1. C语言中的注释有几种类型?请举例说明。

2. 如何在C语言中输出文本?3. 如何声明和初始化一个整数类型的变量?4. 请说明C语言中的标识符命名规则。

问题二:数据类型和运算符1. 在C语言中,int、float和char等是哪种数据类型?2. 如何在C语言中进行算术运算和逻辑运算?3. 请解释C语言中的类型转换。

4. 请说明C语言中的运算符优先级规则。

问题三:条件语句1. 请说明C语言中的if语句和switch语句的用法和区别。

2. 如何在C语言中使用条件运算符(三目运算符)?3. 请解释C语言中的逻辑运算符“&&”、“||”和“!”的作用。

问题四:循环结构1. 请说明C语言中的for循环和while循环的用法和区别。

2. 如何在C语言中使用break和continue语句?3. 请解释C语言中的循环控制变量。

问题五:函数1. 如何在C语言中定义和调用函数?2. 请说明C语言中的形式参数和实际参数的区别。

3. 如何在C语言中使用递归函数?以上题目只是一部分示例,您可以根据自己的需要做进一步的扩展,或者深入研究每个主题。

通过自测题,您可以加深对C语言程序设计的理解,并帮助您查漏补缺。

在解答这些问题时,请确保您的回答准确、清晰,并使用正确的C语言语法。

不妨借助编译器进行实际测试,以确保您的答案和代码是正确的。

C语言是一门强大而灵活的编程语言,掌握它将为您在计算机科学领域中的职业生涯开辟更广阔的发展空间。

国家开放大学C语言程序设计章节测试参考答案

国家开放大学C语言程序设计章节测试参考答案

国家开放大学《C语言程序设计》章节测试参考答案第一章C语言概述自测练习一:C语言字符集自测练习1.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。

(√)2.在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。

(√)3.在C语言程序中,ABC和abc被作为同一标识符使用。

(×)自测练习二:C语言字符集自测练习1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。

(√)2.在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。

(√)3.C语言中使用的字符常量,其起止标记符是()。

a. 双引号b. 尖括号c. 单引号d. 中括号4.C语言中使用的字符串常量,其起止标记符是()。

a. 双引号b. 中括号c. 尖括号d. 单引号自测练习三:C语句分类自测练习1.在C语言中,一条简单语句的结束符是()。

a. 分号b. 空格c. 冒号d. 逗号2.在C语言中,每条复合语句的开始标记字符为()。

a. <b. [c. (d. {3.不符合C语言规定的复合语句是()。

a. {x=0;}b. {}c. {;}d. {y=10}4.C语言中的选择类语句有两条,它们是()。

a. else和caseb. if和switchc. if和elsed. switch和case自测练习四:函数分类与使用自测练习1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。

a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为()。

a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是()。

a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是()。

a. #b. @c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对()。

C语言程序设计__承德石油高等专科学校(17)--综合自测题(一)

C语言程序设计__承德石油高等专科学校(17)--综合自测题(一)
1234567890 新数组 a:
0987654321 #include <stdio.h> void inv( int *x, int n ) {
} void main( ) { int i, a[10]={1,2,3,4,5,6,7,8,9,0};
inv(a,10); //调用转换函数 printf("按相反顺序存放后的数组为:"); for(i=0; i<10; i++) printf("%4d", a[i]); }
char ch;
ch= 【1】 ;
if(ch>='A'&& 【2】 )
【3】
else if(
【4】
)
【5】 putchar(ch);
(2)下面程序的功能是:输出 1000 以内能被 3 整除且个位数为 3 的所有整数,请填空。 void main() { int i,j; for(i=0; 【1】 ;i++)
A.p=&n; scanf"%d",&p);
B.p=&n; scanf("%d",*p);
C.scanf("%d",&n); *p=n;
D.p=&n; *p=m;
19.若有定义 int a[ ]={1,3,5,7,9,11}, *p=a;,则能够正确引用该数组元素的是( )。
A.a
B.a[6]
C.*(p--)
A.char ch='\X2A'; B.char ch="c"; C.char ch=65; D.char ch=NULL; 4.设有定义:double d1,d2,h;,其中 d1 和 d2 分别为梯形的上下底边长,h 为梯形的高,则以下 C 语言表

C语言程序设计自检自测题及解答一

C语言程序设计自检自测题及解答一

《C++语言程序设计》自检自测题及解答(一)2002年07月28日宁夏电大教学处一、单选题(每小题1分,共6分)1. 由C++目标文件连接而成的可执行文件的缺省扩展名为________。

2. 在下面的一维数组定义中,哪一个有语法错误。

________A、 int a[]={1,2,3};B、int a[10]={0};C、 int a[];D、 int a[5];3. 在下面的函数声明中,存在着语法错误的是________。

A、 void BC(int a, int);B、void BD(int, int);C、void BE(int, int=5);D、int BF(int x; int y);4. 假定AB为一个类,则该类的拷贝构造函数的声明语句为________。

A、 AB&(AB x);B、 AB(AB x)C、 AB(AB&);D、 AB(AB* x)5. 对于结构中定义的成员,其隐含访问权限为________。

A、 publicB、 protectedC、 privateD、 static6.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为________。

A、 ios::inB、 ios::outC、 ios::in | ios::outD、没有二、填空题(每小题2分,共24分)1. 1.执行"cout<<43<<'-'<<18<<'='<<43-18<<endl;"语句后得到的输出结果为________。

2. 2.已知'A'~'Z'的ASCII码为65~90,当执行"char ch=14*5+2;cout<<ch<<endl;"语句序列后,得到的输出结果为________。

《C程序设计》自测题1

《C程序设计》自测题1

《C程序设计》自测题1一、选择题(共20题,每题2分,本题共40分)。

(1)C语言规定:源程序中main函数的位置:( B )(A)必须在最开始(B)必须在系统调用的库函数的后面(C)可以任意(D)必须在后面(2) main(){ printf("Y\b=\n”); }在打印机上输出结果为:( A )(A)= (B)Y (C)¥ (D)\n(3)下面不正确的字符常量是( A )(A)“C” (B)‘?’ (C)‘W’ (D)‘\101’(4)已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-’3’;后,c2中的值为( A )。

(A)D (B) 68 (C)不确定的值 (D)C(5)若有定义int j=3; printf("%d, %d",++j ,j++);运行结果为: ( C )(A)4,3 (B)3,3 (C)4,4 (D)4,5(6)main(){int x,y=7;float z=4;x=(y=y+6,y/z);printf("%d\n",x);}运行结果:( )(A)7 (B)13 (C)1 (D)3(7)下列浮点数用指数形式表示正确的是:( D )(A)123E2 (B).e4 (C) e-5 (D)1.2E-3.5(8)设有定义int a,b;当执行scanf("%2d•%*3d•%2d",&a,&b);语句时,从第一列输入数据12•345•67↙,则b的值为:( D )(A)34567 (B)34 (C)345 (D)67(9)以下程序的输出结果是:( B )main(){int x=2,y=-1,z=2;if(x<y)if(y<0) z=0;else z+=1;printf("%d\n",z);}(A) 3 (B)2 (C)1 (D)0(10) 若k为整型,以下while循环执行( B )次。

c程序语言设计考试题及答案

c程序语言设计考试题及答案

c程序语言设计考试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是:A. varB. letC. intD. define答案:C2. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D3. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. =答案:A4. 在C语言中,哪个函数用于计算并返回数组中元素的个数?A. sizeofB. countC. lengthD. size5. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D6. C语言中,用于声明指针变量的关键字是:A. pointerB. ptrC. *D. ref答案:C7. 在C语言中,哪个运算符用于取地址?A. &B. *C. %D. ^答案:A8. 下列哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-nameD. $variable答案:B9. C语言中,用于定义函数的关键字是:B. functionC. defD. void答案:B10. 在C语言中,哪个函数用于输出字符串?A. printfB. coutC. putsD. print答案:C二、填空题(每题2分,共20分)1. C语言标准库函数中,用于计算两个数的差的函数是________。

答案:abs2. 在C语言中,________运算符用于比较两个值是否相等。

答案:==3. C语言中,________关键字用于声明一个函数。

答案:void4. C语言中,________关键字用于声明一个结构体。

答案:struct5. 在C语言中,________关键字用于声明一个枚举类型。

答案:enum6. C语言中,________函数用于将整数转换为字符串。

《C语言程序设计》综合练习试卷(一)

《C语言程序设计》综合练习试卷(一)

《C语言程序设计》综合练习试卷(一)试题一判断题 (每题1分,共10 分)(用T表示正确、F表示不正确) 1.C的任何类型数据在计算机内部都是以二进制形式存储的。

2.按格式符“%d”输出float类型变量时,截断小数位后取整输出。

3.字符数组中字符串可以整体输入输出。

4.传值调用的形参只有在被调用时,才被创建(分配存储单元)。

5.C语言中数组名是指针常量。

6.结构体类型中的各成员项数据类型可以不相同。

7.函数必须有返回值,否则不能使用函数。

8.C程序执行总是从第一个函数开始。

9.可以用关系运算符对字符串进行大小比较。

10.For循环只能用于循环次数已确定的场合。

试题二单选题(每题1分共15分)从A)、B)、C)、D)四个选项中,选出正确的一项。

1.以下程序运行后,输出结果是#include"stdio.h"void main( ){ char s[10]="abcde",*p;p=s+2;printf("%s \n",p);}A) cde B)字符c的ASCII码值 C)字符c的地址 D)出错2.对下面函数f,写出f(f(3))的值。

int f(int x){ static int k=0;x+=k--;return x;}A) 5 B) 3 C) 2 D) 43.以下程序运行后,输出结果是#define PT 5#define S(x) PT*x#include"stdio.h"void main( ){ int a=1,b=2;printf ("%d\n",S(a+b));}A) 15 B) 7 C) 8 D) 无正确答案4. 若有 float a[3][4]; 正确的引用第3行第1列的元素是A) **(a+2) B) *(*a+2) C) a[3][1] D) a[3][0]printf("%.1f,%d\n",10./4,10/8);的输出是A) 2.5, 1.25 B) 2.5, 1 CA) int a[ ]; B)int n=5,a[n];C) int n, a[n]={1,2,3,4,5}; D) int a[10/2];7.若有定义:struct person { char name[9]; int age; } ;person st[10]={{"john",17},{"paul",19},{"Mary",18}};能输出字母M的语句是A) printf("%c",st[2].name);B) printf("%c",st[3].name[1]);C) printf("%c",st[2].name[1]);D) printf("%c",st[2].name[0]);8.不能把字符串:“Hello!”赋给数组b的语句是A) char b[10]={'H','e','l','l','o','!','\0'};B) char b[10];b="Hello!";C) char b[10];strcpy(b,"Hello!");D) char b[10]="Hello!";9.若有 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则表达式值为6的是A)*p+6 B)*(p+6) C)*p+=5 D)p+510. 已知:int *p,m=5, n; 正确的程序段是A) p=&n; scanf(" %d",&p); B) p=&n; scanf(" %d", *p);C) scanf("%d",&n); *p=n; D) p=&n; *p=m;11. 下面程序的运行结果是:#include"stdio.h"void main( ){ int x[4]={ 2,4,6,8},*p, **pp;p=x;pp=&p;printf("%d",*p);printf("%3d",**pp);}A) 4 4 B) 2 4 C) 2 2 D) 4 612.下面程序执行后a的值是#include"stdio.h"void main( ){ int a,k=4,m=6,*p1=&k,*p2=&m;a=p1!=&m;printf("%d\n",a);}A)4 B)1 C)0 D)运行时出错,a无定值13.下列语句序列中,能够将变量u、s中最大值赋给变量t的是A) if (u>s) t=u; t=s; B) t=s; if (u>s) t=u;C) if (u>s) t=s; else t=u; D) t=u; if (u>s) t=s;14. 若有 int a=7,b=12;则语句printf("%d",a&b);输出结果A) 19 B) 9 C) 5 D) 415.若有 FILE *fp; 以“只读”方式打开文本文件a:\aa.dat,下列语句中正确的是A) fp=fopen("a:\aa.dat","w");B) fp=fopen("a:\aa.dat","r");C) fp=fopen("a:\\aa.dat","w");D) fp=fopen("a:\\aa.dat","r");试题三阅读程序题( 每题4分,共24分)写出读下列程序的输出结果1. #include<stdio.h>void main(){ char ch;for(ch='a';ch<'f'; ch++){ putchar(ch-32);putchar(ch);}}2. #include"stdio.h"void main(){ int i;for( i=1;i<=4;i++){ if ((i%3)==0) { printf("$"); continue;} else printf("*");printf("#");}}3. #include "stdio.h"void main(){ int i;for(i=1;i<5;i++)switch(i%5){ case 5: printf(" 5");case 3: printf(" 3");case 1: printf(" 1");default: printf("%2d",i);}}4. #include"stdio.h"void main(){ int x[10];int t,i,j,m=1;for(i=0;i<10;i++){ m=-m;x[i]=m*i;}for(i=1;i<10;i++){ t=x[i];for(j=i-1; j>=0; j--)if(t>x[j]) break;else x[j+1]=x[j];x[j+1]=t;}for(i=0;i<10;i++) printf("%3d",x[i]);}5. #include<stdio.h>void main(){ void swap1(int x ,int y );void swap2(int *x,int *y);void swap3(int &x,int &y);int a1,b1,a2,b2,a3,b3;a1=a2=a3=10;b1=b2=b3=5;swap1(a1,b1);swap2(&a2,&b2);swap3(a3,b3);printf("a1=%d b1=%d\n",a1,b1);printf("a2=%d b2=%d\n",a2,b2);printf("a3=%d b3=%d\n",a3,b3);}void swap1(int x,int y){ int t;t=x;x=y;y=t; }void swap2(int *x,int *y){ int t;t=*x; *x=*y; *y=t; }void swap3(int &x,int &y){ int t;t=x; x=y; y=t; }6.struct node{int num;node *next;};int fun( node *h){ int s,n=0,i;node *p=h ;while(p!=NULL){ for(s=0,i=1;i<p->num;i++)if ((p->num)%i==0) s+=i;if (s==p->num) n++;p=p->next;}return n;}写出执行语句“printf(“%d\n”,fun(head));”的输出结果。

C程序设计1-5章测试题(答案版本)

C程序设计1-5章测试题(答案版本)

C程序设计1-5章测试题(04级)姓名____一、选择题:(每题3分,共60分)1、C语言提供合法的数据类型关键字是( d )A)double B)short C)integer D)char2、下列不属于字符型常量的是(b )A)‘A’B)“B”C)‘\n’ D)‘D’3、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 a 。

A)必须为字母或下划线。

B)必须为下划线。

C)必须为字母 D)可以是字母、数字和下划线中的任一种字符。

4、若有定义:int a = 7; float x = 2.5 , y = 4.7 ;则表达式 x + a % 3 * (int) (x + y) % 2/4 的值是 d 。

A) 2.750000 B) 0.00000 C) 3.500000 D) 2.5000005、设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是 ( d)A)2,1,2 B)2,0,3 C)2,2,3 D)2,1,36、下列运符中优先级最高的是( b )A)&& B) ++ C) ?: D)!=7、若x、I、j和k都是int型变量,则计算下面表达式后,x的值是( c )x=(I=4,j=16,k=32)A) 4 B) 16 C) 32 D) 528、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(b)A) 7 B) 8 C) 6 D) 29、C语言规定:在一个源程序中,main函数的位置( c )A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后10、一个C语言程序是由( b )A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成11、下面程序中的输出语句,a的值是( c),输出结果是(b)A)65 B)20 C)15 D)10#include <stdio.h>void main(){ int a;printf("%d\n",(a=3*5,a*4,a+5)); }12、下面不正确的字符串常量是( a )A) ‘bac’B) “12’123”C)”0”D) “”13、以下不符合C语言语法的赋值语句是(D)A) i++; B) i=i=5; C) k=(2*4,k*4); D) y=float(i);14、若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为(D)A) float B) int C) char D) double15、下列可以用作变量名的是( b )A)1 B)al )int D)*p16、C语言中最简单的数据类型包括()A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型分析:本题考查的知识点为C语言里的最基本的数据类型。

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

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

《C语言程序设计》试题一 (1)一、填空题 (1)二、选择题 (2)三、读程序题 (5)四、程序填空题 (6)五、编程题 (7)《C语言程序设计》试题一答案 (10)《C语言程序设计》试题一一、填空题1、C语言中基本的数据类型有:整形、字符型、实型。

2、C语言中普通整型变量的类型说明符为int。

4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是-112 。

5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是11 ,A[3]= m 。

6、符号”a”和’a’的区别是“a”是字符串常量‘a’是字符常量。

7、所谓“指针”就是一个变量的地址。

“&”运算符的作用是求地址。

“*”运算符的作用是表示定义了一个指针。

8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是1,3,2二、选择题1、设整型变量a为5,使b不为2的表达式是( C )。

A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( C )组成配对关系。

A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( D )。

int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D.10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为(不)。

A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i5、选出下列标识符中不是合法的标识符的是(D)。

A. hot_doB. cat1C. _priD. 2ab6、以下程序的输出结果是(A)。

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

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

《程序设计基础》考试试卷一班级姓名学号____________一、选择题(20分)1.算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可行性(D)确定性2.以下选项中可作为C语言合法常量的是(A)-80. (B)-080 (C) (D)3.以下叙述中正确的是(A)用C语言实现的算法必须要有输入和输出操作(B)用C语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出4.以下不能定义为用户标识符是(A)Main (B) _0 (C) _int (D) sizeof5.以下选项中,不能作为合法常量的是(A) (B) (C)+4 (D)6.数字字符0的ASCII值为48,若有以下程序main(){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);} 程序运行后的输出结果是(A)3,2 (B)50,2 (C)2,2 (D)2,507.有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是(A) (B) (C) (D)8.有以下语句:int b;char c[10];,则正确的输入语句是A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c);(C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);9.有以下程序main(){int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 78910.有以下程序main(){int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b); }程序运行后的输出结果是A)6,1 B)2,1 C)6,0 D)2,011.有以下程序main(){int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是(A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 312.若整型变量a、b、c、d中的值依次为:1、4、3、2。

《 C程序设计》模拟试题一及参考答案

《 C程序设计》模拟试题一及参考答案

《 C程序设计》考试试题( 120分钟)(闭卷)一、单项选择题(每小题 2分,共60分)1. C语言规定:在一个源程序中,main函数的位置是 _________ 。

A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后2.下列四组选项中,均不是C语言关键字的选项是 _________ 。

A)define B)getc C)include D)whileIF char scanf gotype printf case pow3.设 int a=3;结果为0的表达式是 _________ 。

A)2%a B)a/=a C)!a D)~a4.执行下面程序片段的结果是 _________ 。

int x=23;do { printf("%d",x--);}while(!x);( A)打印出231 (B)打印出23( C)不打印任何内容(D)陷入死循环5. 设int a=0,b=5,c=2;选择可执行x++的语句是 _________ 。

A)if(a) x++; B)if(a=b) x++;C)if(a =< b) x++; D)if(!(b-c)) x++;6.以下程序的运行结果是 _________ 。

main(){ int k=4,a=3,b=2,c=1;printf("\n%d\n",k<a ? k:c<b ? c:a);A)4 B) 3 C) 2 D)17.以下程序的输出结果是 _________ 。

main( ){ int x=8,y=8; printf("%d%d\n",x--,--y);}A)8 8 B)7 7 C)7 8 D)8 78.C语言中,运算对象必须是整数的运算符是 _________ 。

A)% B)\ C)%和\ D) **9.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 _________ 。

c程序设计考试题目及答案

c程序设计考试题目及答案

c程序设计考试题目及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. intC. voidD. return答案:C2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A3. 若有定义`int a = 5;`,则执行`a += 3;`后,变量a的值是多少?A. 3B. 5C. 8D. 无法确定答案:C4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. $variableD. variable!答案:B5. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World'D. 'Hello, World'答案:A6. C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][];B. int array[][3];C. int array[3][3];D. int array[][];答案:C7. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > y)B. if x > yC. if (x > y) elseD. if (x > y) else if答案:A8. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for i = 0; i < 10; i++C. for (int i = 0; i < 10;)D. for (i = 0; i < 10; i++)答案:A9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int, int);B. int add(int a, int b)C. int add(int, int) {}D. int add(a, b)答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr[10];D. int ptr(int);答案:A二、填空题(每题2分,共20分)1. 在C语言中,`printf`函数用于__输出__。

c语言程序设计试卷及答案-C语言考试试卷及答案(1)

c语言程序设计试卷及答案-C语言考试试卷及答案(1)

c语言程序设计试卷及答案-C语言考试试卷及答案(1)在学习C语言这门课程中,经常需要进行考试来检验学生掌握情况。

下面我们来看一份C语言程序设计试卷及答案,为大家提供参考。

一、选择题(每题1分,共10分)1.下列哪一种不是C语言的数据类型?A. intB. charC. doubleD. longE. java答案:E2.下列哪个不是关系运算符?A. <=B. >=C. !=D. =E. ==答案:D3.下列语句哪个是正确的格式?A. if (x>=y) then z=y-x;B. if x>=y z=y-x;C. if (x>=y) z=y-x;D. if (x>=y) {z=y-x};E. x>=y ? z=y-x : return;答案:C4.下列哪种符号是用于引用结构体变量的成员?A. *B. ->C. /D. .E. ?答案:D5.下列哪种运算顺序最高?A. *B. +C. /D. %E. >答案:A6.下列哪种描述方法不是合法的定义结构的方式?A. struct score {int math; int english; int chinese;};B. struct {int math; int english; int chinese; } score;C. typedef struct {int math; int english; int chinese; } score;D. typedef score {int math; int english; int chinese; };E. struct {int math; int english; int chinese; } stu1,stu2; 答案:D7.下列程序中有错,错误在哪儿?#include<stdio.h>void main(){int a,b;printf("Input a,b:");scanf("%d,%d",&a,b);if(a>b)printf("a>b\n");else if(a==b)printf("a=b\n");elseprintf("a<b\n");}A. 缺少std头文件B. main函数缺少返回值C. scanf语句格式缺少’&’D. if语句括号缺失E. 以上都不是答案:C8.下列哪个不是指针运算符?A. *B. &C. ->D. []E. sizeof答案:E9.下列哪一函数库函数可以将字符串转化为浮点型数值?A. sprintf()B. scanf()C. fgets()D. atof()E. atol() 答案:D10.下列哪一函数库函数可以清空缓冲区?A. scanf()B. printf()C. fgets()D. getc()E. fflush() 答案:E二、填空题(每空0.5分,共10分)1.编程中的最小的逻辑处理单元是______。

c程序设计试题及答案

c程序设计试题及答案

c程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,不正确的是()。

A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有丰富的库函数答案:B2. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A3. 下列关于C语言中数组的描述,正确的是()。

A. 数组必须初始化B. 数组的大小在编译时确定C. 数组的下标从0开始D. 数组可以作为函数的参数答案:B4. 在C语言中,用于表示逻辑“与”操作的运算符是()。

A. &&B. ||C. !D. &答案:A5. 下列关于C语言函数的描述,不正确的是()。

A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数的返回值类型必须在函数声明时确定D. 函数可以被递归调用答案:B6. 在C语言中,用于定义一个指针的语句是()。

A. int *p;B. int p;C. int *p = 0;D. int p = 0;答案:A7. 下列关于C语言中文件操作的描述,正确的是()。

A. 文件操作只能使用文本方式B. 文件操作只能使用二进制方式C. 文件操作可以使用文本方式或二进制方式D. 文件操作不能同时读写答案:C8. 在C语言中,用于表示逻辑“或”操作的运算符是()。

A. &&B. ||C. !D. &答案:B9. 下列关于C语言中循环的描述,正确的是()。

A. for循环不能嵌套B. while循环可以嵌套C. do-while循环至少执行一次D. 循环中可以使用break语句答案:C10. 在C语言中,用于表示逻辑“非”操作的运算符是()。

A. &&B. ||C. !D. &答案:C二、填空题(每题2分,共20分)1. C语言中,一个整型变量占用的字节数是______。

《C语言程序设计》课程自测题

《C语言程序设计》课程自测题

《C语言程序设计》课程自测1章C语言概述一、判断题1. C语言程序中,任何英语单词均可以作标识符。

()×2. 在C语言的源程序中,注释使用越多,编译之后的可执行程序的执行效率越低。

()×3. C语言是一种面向过程的语言。

()√4. 当主程序执行完毕时,亦即程序执行完毕。

()√5. C程序有且仅有一个main()函数。

()√6. C语言中不区分大小写英文字母。

()×7. 用C语言编写的程序是一种需要经过编译和连接才能运行的程序。

()√8. C语言是一门对标识符大小写敏感的程序设计语言。

()√二、单选题1. 一个C程序的组成部分可以是()。

A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序A2. 以下叙述的是()。

A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错C3. C语言规定,C程序执行的开始处为()。

A)源程序中排列在最前面的函数B)一个指定的系统库函数C)用户指定的一个特定函数D)程序的主函数D4. 一个C程序的执行是从()。

(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束A5. 一个C语言程序是由()组成。

(A)一个函数(B)一个或若干个函数(C)一个过程(D)一个过程或若干个过程B6. 下列说法中错误的是()。

(A)程序的执行总是从主函数开始。

(B)主函数可以调用任何非主函数的其它函数(C)任何非主函数可以调用其它任何非主函数(D)程序可以从任何非主函数开始执行D7. C程序的基本单位是()。

C语言程序设计自测复习题及答案

C语言程序设计自测复习题及答案

C语言程序设计自测题及参考答案——WORD文档,下载后可编辑修改——一、选择题。

1、以下给出的四个函数是字符串处理函数,哪一个函数是字符串与字符串之间的比较函数( D )A、strcatB、strcpyC、strlenD、strcmp2、以下正确的函数说明是( C)A、char c (char x , y)B、char c (char x; char y )C、char c (char x , char y )D、char c (char x ; char y ; )3、短整形数据的取值范围为( C )A、0~65535B、0~32767C、-32768~32767D、0~2554、以下哪一个转义字符属于换行符( B )A、\tB、\nC、\rD、\b5、以下程序的运行结果是( A )# include <stdio.h >main ( ){ int i=10 , j=010 , k=ox10;printf(“%d,%d,%d” , i , j ,k);}A、10 , 8 , 16B、10 , 10 , 10C、10 ,16 , 8D、10 , 2 , 06、以下for 语句的逗号表达式形式:for(i=0 ,j=5 ; i<=j; i++ , j-- ) k=i+j;语句k=i+j; 的正确结果为:( A )A、 5B、10C、15D、207、以下程序的作用是( A )# include <stdio.h >main ( ){ int n ;for (n=100; n=200; n++){ if (n%3==0)continue;printf(“%d”, n );}}A、求100~200之间的不能被3整除的数并输出B、求100~200之间的能被3整除的数并输出C、求1~100之间的不能被3整除的数并输出D、求1~100之间的能被3整除的数并输出8、以下程序的运行结果为: ( C )# include <stdio.h >main ( ){ int a=5;printf (“%.3s , %3d” , “computer”, a );}A、com 5B、com5C、com, 5D、com,59、以下对数组的说法正确的是:( A )A、C 语言规定只能逐个引用数组元素而不能一次引用整个数组B、如果想使一个数组中全部元素值为0 ,可以写成 int a[10]={0*10};C、对于二维数组如果对全部元素都已赋了初值,则定义数组是对第二维的长度可以不指定,但第一维的长度不能省略D、a[3][4]表示一个二维数组,而int a[3][4]表示这个二维数组的一个元素10、以下程序的运行结果为( D )#include <stdio.h>main ( ){int i , j , m , n ;i=2 ; j =3; m=++i; n=j++ ;printf(“%d , %d ”, m ,n );A、2,4B、2,3C、3,4D、3,3二、填空题:本大题共10小题,每空2分,共40分。

C语言程序设计自测题

C语言程序设计自测题

C语言程序设计自测题一、选择题1.在Dev C++中运行C语言程序,使用下面那个按钮。

()A.B.C.2.C语言程序从()开始执行。

A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数3.以下说法中正确的是()。

A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是()。

A.C程序的工作过程是编辑、编译、连接、运行B.C语言不区分大小写。

C.C程序的三种基本结构是顺序、选择、循环D.C程序从main函数开始执行5.下面那句代码实现的是头文件的引用功能()。

A.#include<stdio.h> B.#define Height 10 C.int m_Long6.下列正确的标识符是()。

A.-a1B.a[i]C.a2_iD.int t7.执行程序段int a=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf(“%d %d %d\n”,k,a,b);后的输出结果是()。

A.1 0 4 B.1 0 3 C.0 0 3 D.0 0 48.设int x=1, y=1; 表达式(!x||y--)的值是()。

A.0 B.1 C.2 D.-19.下面程序段的运行结果是()。

int main(){int i,t,a[10]={25,40,29,8,17,6,15,4,3,2};t=a[0];for(i=0;i<10;i++)if(a[i]<t) t=a[i];printf("%d\n",t);return 0;167168}A.29 B.40 C.15 D.210.以下函数值的类型是()。

fun(float x){float y;y=3*x-4;return y;}A.int B.不确定C.void D.float二、填空题1.C程序整体是由()构成的。

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

《C程序设计》自测题1一、选择题(共20题,每题2分,本题共40分)。

(1)C语言规定:源程序中main函数的位置:( )(A)必须在最开始(B)必须在系统调用的库函数的后面(C)可以任意(D)必须在后面(2) main(){ printf("Y\b=\n”); }在打印机上输出结果为:( )(A)= (B)Y (C)¥ (D)\n(3)下面不正确的字符常量是( )(A)“C” (B)‘?’ (C)‘W’ (D)‘\101’(4)已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-’3’;后,c2中的值为( )。

(A)D (B) 68 (C)不确定的值 (D)C(5)若有定义int j=3; printf("%d, %d",++j ,j++);运行结果为: ( )(A)4,3 (B)3,3 (C)4,4 (D)4,5(6)main(){int x,y=7;float z=4;x=(y=y+6,y/z);printf("%d\n",x);}运行结果:( )(A)7 (B)13 (C)1 (D)3(7)下列浮点数用指数形式表示正确的是:( )(A)123E2 (B).e4 (C) e-5 (D)1.2E-3.5(8)设有定义int a,b;当执行scanf("%2d•%*3d•%2d",&a,&b);语句时,从第一列输入数据12•345•67↙,则b的值为:( )(A)34567 (B)34 (C)345 (D)67(9)以下程序的输出结果是:( )main(){int x=2,y=-1,z=2;if(x<y)if(y<0) z=0;else z+=1;printf("%d\n",z);}(A) 3 (B)2 (C)1 (D)0(10) 若k为整型,以下while循环执行()次。

k=2;while(k=0){ printf("%d",k); k--; }printf("\n");(A) 无限次 (B) 0次 (C) 1次 (D) 2次(11)以下两个程序运行结果分别是:( )main() main(){int i=11,sum=0; {int i=11,sum=0;do while(i<=10){sum+=i; {sum+=i;i++; i++;}while(i<=10); }printf("%d",sum); printf("%d",sum);} }(A) 11,11 (B)11,0 (C)0,11 (D)0,0(12)下面这个程序的输出是()int a,b,c;a=7;b=8;c=9;if(a>b)a=b;b=c;c=a;printf("a=%d b=%d c=%d\n",a,b,c);(A) a=7 b=8 c=7 (B) a=7 b=9 c=7(C) a=8 b=9 c=7 (D) a=8 b=9 c=8(13) 以下对数组的定义方式哪个是正确的?( )(A)#define size 10 (B) int n;int a[size] ; int a[n];(C)char name[-10]; (D) float weight[10.3];(14) 以下对二维数组a的正确说明是( )。

(A) int a[3][]; (B)float a[][4];(C)double a[3][4]; (D)float a(3)(4);(15)若有定义char array[]="child";则数组array所占存储空间的字节数为:( )(A) 4 (B)5 (C)6 (D)7(16)在调用函数时,如果实参是简单变量,则它与对应形参之间的数据传递方式是( )。

(A)单向值传递 (B)地址传递(C)由实参传给形参,再由形参传给实参 (D)传递方式由用户指定(17)若有以下函数调用语句:fun(a+b,(x,y),ab(n+k,d,()a,b)));则在此函数调用语句中实参的个数是( )。

(A) 4 (B)5 (C)6 (D)3(18)若定义了int i,j,*p,*q;下面( )的赋值是合法的。

(A) i=&j (B)*q=&j (C)q=&p (D)p=&i(19) 若定义了int a[10],i=3,*p=&a[5];下面不能表示为a数组元素的是( ) 。

(A) p[-5] (B)a[i+5] (C)*p++ (D)a[i-5](20)设有以下说明语句struct stu{int a;float b;}stutype;则下面的叙述不正确的是:( )(A) struct是结构体类型的关键字(B)struct stu是用户定义的结构体类型(C) stutype是用户定义的结构体类型名 (D)a和b都是结构体成员名二、填空题(共5小题,每空2分,本题共10分。

)(21)一个C程序一般由若干个函数构成,其中至少应包含一个函数。

(22)表达式3>2>1的值为。

(23)若x为int型变量,则执行以下语句后x的值是 _。

x=8;x+=x-=x+x;。

(24)定义int a[3][5]={{0,1,2,3,4},{3,2,1,0},{0}};则初始化后a[1][2]的值是。

(25)无返回值的函数应定义为_ 类型。

三、分析程序运行结果(共6题,每题3分,本题共18分。

)(26) 下列程序运行结果:main(){int a=0;b=0,x=1,y=0;switch(x){case 1:switch(y){case 0: a++;break;case 1: b++;break;}case 2:a++; b++;break;}printf("a=%d,b=%d,%d",a,b,c);}(27) 下列程序运行结果:main(){int i;for(i=1;i<=5;i++){if(i%2)printf("*");else continue;printf("#");}printf("$\n");}(28)下列程序运行结果:#define N 5main(){ int i;int a[N]={1,2,3,4,5};for(i=0;i<N/2;i++){ int temp;temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}for(i=0;i<N;i++)printf("%d ",a[i]);}(29)写出下面这个程序的输出结果:void main(){ char str[ ]="ABCDEFGHIJKL";str[2]=str[5];str[9]='\0';printf("%s\n",str); }(30) 写出下面这个程序的输出结果: int x1=30,x2=40;main(){int x3=10,x4=20;sub(x3,x4);sub(x2,x1);printf("%d,%d,%d,%d\n",x3,x4,x1,x2);}sub(int x,int y){x1=x;x=y;y=x1;}(31)写出下面这个程序的输出结果:main(){ int *p1, *p2, *p,a=5,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2 =p;};printf("max=%d,min=%d\n", *p1, *p2);}四、程序填空(共5个空,每空3分,本题共15分。

)(32) 输入三个整数x,y,z,请把这三个数由小到大输出。

main(){ int x,y,z,t;scanf("%d%d%d", );if (x>y){ } /*交换x,y的值*/ if(x>z) {t=z;z=x;x=t;} /*交换x,z的值*/ if(y>z){t=y;y=z;z=t;} /*交换z,y的值*/ printf("small to big: %d %d %d\n",x,y,z);} (33)打印出所有的水仙花数. 请在上填入正确的内容。

main(){int i,j,k,n;for()i=n/100;j=n/10-i*10;k=n%10;if( ) /*各位上的数字立方和等于printf("%d",n); 该数本身*/}printf("\n");}(34) 以下程序的功能是判断输入的年份是否是闰年。

请在上填入正确的内容。

main(){int y,f;scanf("%d",&y);if(y%400==0)f=1;else if( )f=1;else ;if(f)printf("%d is",y);else printf("%d is not",y);printf("a leap year\n");}五、编写下列程序(共2题,本题共17分。

)(35) 请编写一个程序,实现打印下列图案。

(7分)***************(36) 用起泡法对10个数由大到小排序。

(10分)。

相关文档
最新文档