C语言程序设计习题试题编程题

C语言程序设计习题试题编程题
C语言程序设计习题试题编程题

C语言程序设计习题(编程类)1、从键盘输入任意的字符,按下列规则进行分类计数。

第一类'0','1','2','3','4','5','6','7','8','9'

第二类'+','-','*','/','%','='

第三类其它字符

当输入字符'\'时先计数,然后停止接收输入,打印计数的结果。

参考答案:

#include

voidmain()

{intclass1,class2,class3;

charch;

class1=class2=class3=0;/*初始化分类计数器*/

do

{ch=getch();

switch(ch)

{case'0':case'1':case'2':case'3':case'4':

case'5':case'6':case'7':case'8':case'9':

class1++;break;/*对分类1计数*/

case'+':case'-':case'*':case'/':case'%':case'=':

class2++;break;/*对分类2计数*/

default:class3++;break;/*对分类3计数*/

}

}while(ch!='\\');/*字符'\'在C程序中要使用转义符'\\'*/

printf("class1=%d,class2=%d,class3=%d\n",class1,class2,class3);

}

2、从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。

参考答案:

voidmain()

{inti,j,num,a[10];

for(i=0;i<10;i++)

{printf("EnterNo.%d:",i+1);

scanf("%d",&num);

for(j=i-1;j>=0&&a[j]>num;j--)

a[j+1]=a[j];

a[j+1]=num;

}

for(i=0;i<10;i++)

printf("No.%d=%d\n",i+1,a[i]);

}

3、输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321。参考答案:

voidmain()

{intn;

printf("Pleaseentern:");

scanf("%d",&n);

while(n>0)

{printf("%d",n%10);

}

}

4、编写程序,读入一个整数N;若N为非负数,则计算N到2×N之间的整数和;若N为一个负数,则求2×N到N之间的整数和。分别利用for和while写出两个程序。

参考答案:

voidmain()

{inti,n;

longs1=0,s2=0;

printf("PleaseenterN:");

scanf("%d",&n);

if(n>=0)

for(i=n;i<=2*n;i++)

s1=s1+i;

else

for(i=n;i>=2*n;i--)

i=n;

if(i>=0)

while(i<=2*n)

s2=s2+i++;

else

while(i>=2*n)

s2=s2+i--;

printf("Result1=%ldresult2=%ld\n",s1,s2);

}

5、一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,?所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。

参考答案:

voidmain()

{inti,n,a;

for(i=0;;i++)

{if(i%8==1)

{n=i/8;

if(n%8==1)

{n=n/8;

if(n%8==7)a=n/8;

}

}

if(i%17==4)

{n=i/17;

if(n%17==15)n=n/17;

}

if(2*a==n)

{printf("result=%d\n",i);break;

}

}

}

6、编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法。

参考答案:

voidmain()

{intf1,f2,f5,count=0;

for(f5=0;f5<=20;f5++)

for(f2=0;f2<=(100-f5*5)/2;f2++)

{f1=100-f5*5-f2*2;

if(f5*5+f2*2+f1==100)

printf("No.%2d>>5:%4d2:%2d1:%2d\n",++count,f5,f2,f1);

}

}

7、将一个数的数码倒过来所得到的新数叫原数的反序数。如果一个数等于它的反序数,则称它为对称数。求不超过1993的最大的二进制的对称数。

参考答案:

voidmain()

{inti,j,n,k,a[16]={0};

for(i=1;i<=1993;i++)

{n=i;k=0;

while(n>0)/*将十进制数转变为二进制数*/ {a[k++]=n%2;

n=n/2;

}

for(j=0;j

if(a[j]!=a[k-j-1])break;

if(j>=k)

{printf("%d:",i);

for(j=0;j

printf("%2d",a[j]);

printf("\n");

}

}

}

8、十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将自己手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次调整后大家手中的糖的块数都一样?每人各有多少块糖?

参考答案:

voidmain()

{inti,count=0,a[11]={0,10,2,8,22,16,4,10,6,14,20};

while(1)

{for(i=1;i<=10;i++)

a[i-1]=a[i-1]/2+a[i]/2;

a[10]=a[10]/2+a[0];

for(i=1;i<=10;i++)

if(a[i]%2==1)a[i]++;

for(i=1;i<10;i++)

if(a[i]!=a[i+1])break;

if(i==10)break;

else

{a[0]=0;

count++;

}

}

printf("count=%dnumber=%d\n",count,a[1]);

}

9、输入5×5的数组,编写程序实现:

(1)求出对角线上各元素的和;

(2)求出对角线上行、列下标均为偶数的各元素的积;

(3)找出对角线上其值最大的元素和它在数组中的位置。参考答案:

voidmain()

{inti,j,s1=0,s2=1,a[5][5];

for(i=0;i<5;i++)

for(j=0;j<5;j++)

{printf("%d%d:",i,j);

scanf("%d",&a[i][j]);

}

for(i=0;i<5;i++)

{for(j=0;j<5;j++)

printf("%5d",a[i][j]);

printf("\n");

}

j=0;

for(i=0;i<5;i++)

{s1=s1+a[i][i];

if(i%2==0)s2=s2*a[i][i];

if(a[i][i]>a[j][j])j=i;

}

printf("SUN=%d\nACCOM=%d\na[%d]=%d\n",s1,s2,j,a[j][j]);

}

10、编写程序,以字符形式输入一个十六进制数,将其变换为一个十进制整数后输出。

参考答案:

#include"stdio.h"

voidmain()

{inti,n=0,a[4]={0};

printf("Pleaseenteradigit:");

for(i=0;i<4&&(a[i]=getchar())!='\n';i++);

for(i=0;i<4;i++)

if(a[i]>=48&&a[i]<=57)a[i]=a[i]-48;

elseif(a[i]>=65&&a[i]<=69)a[i]=a[i]-55;

elseif(a[i]>=97&&a[i]<=102)a[i]=a[i]-87;

elseprintf("inputError!");

for(i=0;i<4;i++)

n=n*16+a[i];

printf("%d",n);

}

11、编写程序,输入一个十进制整数,将其变换为二进制后储存在一个字符数组中。参考答案:

voidmain()

{inti,n,k=16,a[16]={0};

printf("Pleaseenteradigit:");

scanf("%d",&n);

while(n>0)/*将十进制数转变为二进制数*/

{a[--k]=n%2;

n=n/2;

}

for(i=0;i<16;i++)

printf("%2d",a[i]);

}

12、对数组A中的N(0<N<100=个整数从小到大进行连续编号,输出各个元素的编号。要求不能改变数组A中元素的顺序,且相同的整数要具有相同的编号。例如数组是:A=(5,3,4,7,3,5,6)则输出为:(3,1,2,5,1,3,4)

参考答案:

voidmain()

{inti,j,k,n,m=1,r=1,a[2][100]={0};printf("Pleaseentern:");

scanf("%d",&n);

for(i=0;i

{printf("a[%d]=",i);

scanf("%d",&a[0][i]);

}

while(m<=n)/*m记录已经登记过的数的个数*/

{for(i=0;i

{if(a[1][i]!=0)/*已登记过的数空过*/

continue;

k=i;

for(j=i;j

if(a[1][j]==0&&a[0][j]

a[1][k]=r++;/*记录名次,r为名次*/

m++;/*登记过的数增1*/

for(j=0;j

if(a[1][j]==0&&a[0][j]==a[0][k])

{a[1][j]=a[1][k];

m++;

}

break;

}

}

for(i=0;i

printf("a[%d]=%d,%d\n",i,a[0][i],a[1][i]);

}

13、求这样一个三位数,该三位数等于其每位数字的阶乘之和。

即:abc=a!+b!+c!

参考答案:

voidmain()

{inta[5],i,t,k;

for(i=100;i<1000;i++)

{for(t=0,k=1000;k>=10;t++) {a[t]=(i%k)/(k/10);

k/=10;

}

if(f(a[0])+f(a[1])+f(a[2])==i) printf("%d",i);

}

}

f(m)

intm;

{inti=0,t=1;

while(++i<=m)t*=i;

return(t);

}

14、编写一个函数实现将字符串str1和字符串str2合并,合并后的字符串按其ASCII 码值从小到大进行排序,相同的字符在新字符串中只出现一次。

参考答案:

#include"string.h"

strcmbn(a,b,c)/*数组合并函数:将数组a、b合并到*/

chara[],b[],c[];

{chartmp;

inti,j,k,m,n;

m=strlen(a);

n=strlen(b);

for(i=0;i

{for(j=i+1,k=i;j

if(a[j]

tmp=a[i];a[i]=a[k];a[k]=tmp;

}

for(i=0;i

{for(j=i+1,k=i;j

if(b[j]

tmp=b[i];b[i]=b[k];b[k]=tmp;

}

i=0;j=0;k=0;

while(i

if(a[i]>b[j])

c[k++]=b[j++];/*将a[i]、b[j]中的小者存入c[k]*/

else

{c[k++]=a[i++];

if(a[i-1]==b[j])j++;/*如果a、b当前元素相等,删掉一个*/ }

while(i

c[k]='\0';

}

15、编写函数,采用递归方法实现将输入的字符串按反序输出。

参考答案:

#include"stdio.h"

strout(s)

char*s;

{if(*s!='\0')

{strout(s+1);/*递归调用strout函数,字符串首地址前移一个字符*/ putch(*s);/*输出字符串首地址所指向的字符*/

}

elsereturn;/*遇到字符串结束标志结束递归调用*/

}

16、编写函数,采用递归方法将任一整数转换为二进制形式。

参考答案:

turn(n,a,k)

intn,a[],k;

{if(n>0)

{a[k]=n%2;

turn(n/2,a,k-1);

}

elsereturn;

}

voidmain()

{inti,n,a[16]={0};

printf("\nPleaseentern:");scanf("%d",&n);

turn(n,a,15);

for(i=0;i<16;i++)

printf("%d",a[i]);

}

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

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUTx、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

C语言程序设计试题集

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。

C语言程序设计习题集(3)

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的是_B__。 A 在程序中凡是以“#”开始的语句行都是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX是合法的宏定义命令行 D C程序对预处理命令行的处理是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果是_C__。 #define f(x) (x*x) main() { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值是_A__。 A 6 B 2 C 4 D 8 8 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

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

单项选择题 (002) 阅读程序题 (018) 程序填空题 (039) 编写程序题 (070) 一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123C) %d D) \n

【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodbs tart$it line# pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 (超过了范围) B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) –ffff D) ffff 【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。

c语言程序设计题目及答案

一、程序设计共113 题第1 题题 号:319 #include "stdio.h" void wwjt(); int fun(int m) { int i,k=1; if(m<=1) k=0; for(i=2;i #include #define M 3 #define N 4 void wwjt(); void fun(int tt[M][N],int pp[N]) { int i,j; for(j=0;jpp[j]) pp[j]=tt[i][j]; } 第3 题题号:375 功能:从键盘上输入任意实数, 求出其所对应的函数值。 z=e 的x 次幂( x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) #include #include void wwjt(); double y(float x) { double z; if(x>10) z=exp(x); else if(x>-3) z=log(x+3); else z=sin(x)/(cos(x)+4); return(z); } 第4 题题号:334 功能:求给定正整数n 以内的素数之积。( n<28) #include #include"conio.h" void wwjt(); long fun(int n) { long i,k; long s=1; for(i=2;i<=n;i++) {for(k=2;k #include"conio.h" void wwjt(); long int fun(int n) { long s=1,i; for(i=2;i<=n;i++) if(n%i==0)s=s*i; return s; } 第6 题题号:50 功能:求出菲波那契数列的前一项与后一项之比的极限的 近似值例如:当误差为0.0001 时,函数值为0.618056 。 #include #include "math.h" void wwjt(); float fun() { float f1=1,f2=1,f3; float r1=2,r2; do {r2=r1; r1=f1/f2; f3=f1+f2; f1=f2; f2=f3; }while(fabs(r1-r2)>1e-4); return r1; } 第7 题题号:394 功能:产生20个[30,120] 上的随机整数放入二维数组 a[5][4] 中, 求其中的最小值。 #include "stdlib.h" #include void wwjt(); int amin(int a[5][4]) { int i,j,s; s=a[0][0];

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

C语言程序设计试题及 答案 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、 A2 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是() sum=pad=5;pAd=sum++,pAd++,++pAd;

printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是() A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:() void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main( ) { int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别()

C语言程序设计习题集

《C语言程序设计》习题集 编程题复习范围(第1页,共2页) 选择结构 1、P76页例3.11 2、P78页求三个数的最大数 3、P78页例3.14 4、P84页比赛报名处理四 5、P90页例3.21 分别用switch 和else if 形式完成 6、P133页3-6 ⑶ 7、P133页3-6 ⑷ 8、P134页3-6 ⑺ 9、P134页3-6 ⑼ 循环结构 1、输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数 2、输入两个正整数x 和y,求其最大公约数和最小公倍数(提示:设x 和y 的较小值为gcd,则最大公约数的范围在gcd到1之间,用while循环完成) 3、P115页例3.42 4、P127页例3.55 5、P135页3-6 ⒄ 6、P135页3-6 ⒅ 7、输出所有的水仙花数。水仙花数是一个3位正整数,它的三个数字的立方和等于该数本身。例如:153 = 13 + 53 +33 8、P115页例3.43 9、P134页3-6 ⒀ 10、P134页3-6 ⒁ 11、P109页例3.37

12、P118页例3.47 13、P134页3-6 ⑿ 14、P135页3-6 ⒃ 15、P111页例3.39 模块化程序设计 1、P182页4-6 ⑵ 2、P148页例4.6 3、P149页例4.7 4、P151页例4.8 5、P182页4-6 ⑸ 6、P182页4-6 ⑺ 数组和指针 1、P191页例5.6 2、P191页例5.7 3、P192页例5.8 要求:会用函数sum_function求不同长度一维数组的和 4、P193页例5.9 5、P202页例5.12 6、P203页四个程序段 7、P206页例5.15 8、P211页例5.20 9、P212页例5.21 10、输入两个字符串,输出较大的字符串 11、编写函数str_len 求字符串的长度,并在主函数中调用该函数,函数说明如下:(不准使用库函数strlen) int str_len(char *str); 12、输入3行4列的二维整型数组,求最大值及行号、列号

C语言程序设计试题集

一填空 基础知识 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、、加载 和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C语句组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。20. 第一个系统体现结构化程序设计思想的教学工具语言是_______语言。 解答: 1. main()

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

C语言程序设计试题及答案(三) 一、单项选择题(20分,每题2分) 1.执行下列程序段后,正确的结果是(B) int k, a[3][3] = {1,2,3,4,5,6,7,8,9}; for(k=0; k<3; k++) printf(“%2d”, a[k][k]); A) 1 2 3 B) 1 5 9 C) 1 4 7 D) 3 6 9 2.若a是int类型变量,则计算表达式a=25/3%3的值是:(B) A)3 B)2 C)1 D)0 3.下面正确的字符常量是:(C) A)“c” B)‘\\’’ C)‘W’ D)‘’ 4.C语言中,运算对象必须是整型的运算符是:(B) A)% B)/ C)* D)+ 5.数字字符0的ASCII值为48,若有以下程序 main() { char a='1', b='2'; printf("%c,",b++); printf("%d\n",b-a); } 程序运行后的输出结果是。(B) A)3,2 B)50,2 C)2,2 D)2,50 6.以下语句或语句组中,能正确进行字符串赋值的是。(D)A)char *sp;*sp="right!"; B)char s[10];s="right!"; C)char s[10];*s="right!"; D)char *sp="right!"; 7.for(i=0;i<10;i++) if(i〈=5〉 break; 则循环结束后i的值为(B) A)0 B)1 C)5 D)10 8.执行下列程序段后,正确的结果是(C) char x[8] = {8,7,6,5,0,0}, *s;

s = x+1; printf(“%d\n”, s[2]); A) n B) 0 C) 5 D) 6 9.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A A)单向值传递B) 地址传递C) 相互传递D) 由用户指定方式10.设有数组定义:char str[]=”China”;则下面的输出为(C)printf(“%d”,strlen(str)); A)4 B)5 C)6 D)7 二、填空题(30分,每空2分) 1.下列程序段的输出结果是 3 。 int i=19, j; j=i%4; printf(“% d”, j); 2.已知fun1函数的功能是将三个数按由大到小的顺序调整后依次放入a,b,c 三个变量中,其中a存放最大的数,利用fun2函数填空完成此功能。 void fun2(int *x,int *y) { int t; t=*x; *x=*y; *y=t; } void fun1() { int a=20, b=30, c=25; if(c>b) fun2(__&c,&b____); if(a,则输出结果是 1 B 。 #include main() { char a,b; a=getchar(); scanf("%d",&b); a=a-'A'+'0'; b=b*2; printf("%c %c\n",a,b);

C语言程序设计-------阅读程序题库及答案

阅读程序题 【2.1】以下程序的输出结果是。main(D ) { float a; a=1/100000000; printf("%g",a); } A) 0.00000e+00 B) 0.0 C) 1.00000e-07 D) 0 【2.2】下面程序的输出结果是B____。 #include main( ) { int x=10; { int x=20; printf ("%d,", x); } printf("%d\n", x); } A) 10,20 B) 20,10 C) 10,10 D) 20,20

【2.3】以下程序的输出结果是___B_。 main() { unsigned int n; int i=-521; n=i; printf("n=%u\n",n); }//变量i中的负号传送给变量n后,因n是无符号数,已不作为负号处理。 A) n=-521 B) n=521 C) n=65015 D) n=102170103 【2.4】以下程序的输出结果是。main(D ) { int x=10, y=10;printf("%d %d\n", x――, ――y); } A) 10 10 B) 9 9 C) 9 10 D) 10 9 【2.5】以下程序的输出结果是___B。 main() { int n=1; printf("%d %d %d\n",n,n++,n--); } // C语言在执行printf()时,对函数中的表达式表列的

处理顺序是从后向前,即先处理n- -,再处理n++,最后处理n, A) 1 1 1 B) 1 0 1 C) 1 1 0 D) 1 2 1 【2.6】以下程序的输出结果是____。 main() { int x=0x02ff,y=0x0ff00; printf("%d\n",(x&y)>>4|0x005f); } A) 127 B) 255 C) 128 D) 1 【2.7】以下程序的输出结果是____。 main() { int a=1; char c='a'; float f=2.0; printf("%d\n",(!(a==0),f!=0&&c=='A')); } A) 0 B) 1 【2.8】下面程序的输出结果是____。

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

一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodbs tart$it line# pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置

【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 (超过了范围) B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) –ffff D) ffff 【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。 A) 原码B) 补码C) 反码D) ASCII码 【1.14】将字符g赋给字符变量c,正确的表达式是。 A) c=\147 B) c="\147" C) c='\147'D) c='0147' 【1.15】下列转义字符中错误的一个是____。 A) '\000' B) '\0014' C) '\x111'D) '\2' 【1.16】将空格符赋给字符变量c,正确的赋值语句是____。 A) c='\0' B) c=NULL C) c=0 D) c=32 【1.17】已知:char a='\70';则变量a中。 A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明非法 【1.18】字符串"\"EOF\n=-\61\""的长度是____。 A) 8 B) 9C) 14 D) 非法字符串 【1.19】字符串""的长度是____。 A) 0B) 1 C) 2 D) 非法字符串 【1.20】已知:char a;int b;float c;double d; 执行语句"c=a+b+c+d;"后,变量c的数据类型是。 A) int B) char C) float D) double 【1.21】温度华氏和摄氏的关系是: C=-(F-32)。已知:float C,F;由华氏求摄氏的正确的赋值表达式是____。 A) C=5/9(F-32) B) C=5*(F-32)/9 C) C=5/9*(F-32) D) 三个表达式都正确 【1.22】逗号表达式"(a=3*5,a*4),a+15"的值是____。 A) 15 B) 60 C) 30D) 不确定 【1.23】如果int a=1,b=2,c=3,d=4;则条件表达式"a

c语言程序设计题目及答案

一、程序设计共113题 第1题题号:319 #include "stdio.h" void wwjt(); int fun(int m) { int i,k=1; if(m<=1) k=0; for(i=2;i #include #define M 3 #define N 4 void wwjt(); void fun(int tt[M][N],int pp[N]) { int i,j; for(j=0;jpp[j]) pp[j]=tt[i][j]; } 第3题题号:375 功能:从键盘上输入任意实数,求出其所对应的函数值。 z=e的x次幂(x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) #include #include void wwjt(); double y(float x) { double z; if(x>10) z=exp(x); else if(x>-3) z=log(x+3); else z=sin(x)/(cos(x)+4); return(z); } 第4题题号:334 功能:求给定正整数n以内的素数之积。(n<28) #include #include"conio.h" void wwjt(); long fun(int n) { long i,k; long s=1; for(i=2;i<=n;i++) {for(k=2;k #include"conio.h" void wwjt(); long int fun(int n) {

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

C语言程序设计试卷,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1.C语言规定:在一个源程序中,main函数的位置(C)。 A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 2.下面四个选项中,均是合法浮点数的选项是(B)。 A.+1e+15e-9.403e2 B.-.6012e-4-8e5 C.123e1.2e-.4+2e-1 D.-e3.8e-45.e-0 3.若a=-14,b=3,则条件表达式a

相关文档
最新文档