c语言程序阅读题目(带解释)

c语言程序阅读题目(带解释)
c语言程序阅读题目(带解释)

阅读程序模拟题

1.下面程序执行结果是

#include

void swap(int *,int *);

void main()

{

int a=5, b=7, *ptr1, *ptr2;

ptr1=&a, ptr2=&b;

swap (ptr1,ptr2);

printf(“*ptr1=%d,*ptr2=%d\n”,*ptr1,*ptr2);

printf(“a=%d,b=%d\n”,a,b);

}

void swap (int *p1, *p2)

{

int p;

p=*p1;

*p1=*p2;

*p2=p;

}

2.输入we are students ,下面程序运行结果3

#include *(求输入的单词数)

void main()

{ char string[81];

int i,num=0,word=0;

char c;

gets(string);

for(i=0;(c=string[i])!='\0';i++)

if(c==' ') word=0;

else if(word==0)

{

word=1;

num++;

}

printf(" %d\n",num);

}

3.下面程序的运行结果是 2 4 5 7 6 0 11 9 7 3

#include (求已输入数据的反置式子)void inv(int x[], int n);

void main()

{ int i,a[10]={3,7,9,11,0,6,7,5,4,2};

inv(a,10);

printf("The array has been reverted:\n");

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

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

}

void inv(int x[], int n)

{ int t,i,j,m=(n-1)/2;

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

{

j=n-1-i;

t=x[i];

x[i]=x[j];

x[j]=t;

}

}

4.下面程序的运行结果是char *a=I am a teacher

char *b=I am a teacher #include

void copy_string(char *,char *);

void main()

{ char *a="I am a teacher.";

char *b="You are a student.";

copy_string(a,b);

printf("\nstring_a=%s\nstring_b=%s\n",a,b);

}

void copy_string(char *from,char *to)

{ for(;*from!='\0';from++,to++)

*to=*from;

*to='\0';

}

5.下面程序的运行的功能是BASIC

Computer

FORTRAN

Follow me

Great Wall

(按从小到大排列单词)

#include

#include

void sort(char *name[],int );

void print(char *name[],int);

void main()

{

char *name[]={"Follow me","BASIC",

"Great Wall","FORTRAN","Computer "};

int n=5;

sort(name,n);

}

void sort(char *name[],int n)

{ char *temp;

int i,j,k;

for(i=0;i

{ k=i;

for(j=i+1;j

if(strcmp(name[k],name[j])>0(若换成<0则是按从大到小)) k=j;

if(k!=i)

{

temp=name[i];

name[i]=name[k];

name[k]=temp;}

}

}

void print(char *name[],int n)

{

int i;

for(i=0;i

puts(name[i]);

}

6. 输入5回车后,下面程序的执行结果是 120

#include(求阶乘)

long int fac(int );

void main()

{

int n;

scanf("%d",&n);

printf("%d\n",fac(n));

}

long int fac(int m)

{

long int f;

if(m<0)

printf("data error!\n");

else if(m==0||m==1)

f=1;

else

f=fac(m-1)*m;

return f;

}

7.下面程序执行的结果是:li 3

Zhang 3

Wang 2

统计选票数目

输入如下数据:

Li

Zhang

Li

Li

Wang

Zhang

Wang

Zhang

#include

struct person

{

char name[20];

int count;

}leader[3]={ "Li",0, "Zhang",0, "Wang",0};

void main()

{ int i,j;

char leader_name[20];

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

{

scanf("%s",leader_name);

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

if(strcmp(leader_name,leader[j].name)==0)

leader[j].count++;

}

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

printf("%5s:%d\n",leader[i].name,leader[i].count);

}

8.输入17,下面程序执行的结果是17 is a prime number #include(判断一个数是否是素数)

#include

void main()

{

int m,i,k;

scanf("%d",&m);

k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0)break;

if(i>k)

printf("%d is a prime number\n",m);

else

printf("%d is not a prime number\n",m);

}

9.下面程序执行的结果是

#include

#include

void main()

{

int a[3][3], i, j;

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

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

{

switch(abs(i-j))

{

case 0: if(i==0||i==2)

a[i][j]+=3;

else

a[i][j]++;

break;

case 1: a[i][j]+=2; break;

case 2: a[i][j]+=3;

}

}

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

}

10.写出下面程序的运行结果: 8,17

#include

int func (int ,int );

void main ( )

{

int k=4,m=1,p1,p2;

p1=func(k,m) ;

p2=func(k,m) ;

printf(“%d,%d\n”,p1,p2) ;

}

int func (int a,int b)

{

Static(静态变量,执行完成后保留值)int m=0,i=2;

i+=m+1;

m=i+a+b;

return (m);

}

11.以下程序执行后输出的结果是123,0

#include

void main( )

{

FILE *fp;

int i,k=0,n=0;

fp=fopen("d1.dat","w");

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

fprintf(fp, "%d",i);

fclose(fp);

fp=fopen("d1.dat","r");

fscanf(fp, "%d%d",&k, &n);

printf("%d,%d\n",k, n) ;

fclose(fp);

}

12.以下程序执行后输出的结果是3个空格1 3个空格2

3个空格3 3个空格4

3个空格5 3个空格6

#include

void main()

{

int a[2][3]={{1,3,5},{2,4,6}};

int b[3][2],i,j;

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

{

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

{

b[j][i]=a[i][j];

}

}

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

{

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

printf("%4d",b[i][j]);(输出4列,不足的前头补空)printf("\n");

}

}

13.若输入的值是-75,以下程序的运行结果是-3*5*5

#include(求一个数的乘法分解)

#include

void fun(int );

void main( )

{ int n;

scanf("%d",&n);

if(n<0) printf("-");

n=abs(n);

fun(n);

}

void fun(int x)

{

int k,r;

for(k=2;k

{ r=x%k;

while(r==0)

{

printf("%d",k);

x=x/k;

if(x>1) printf("*");

r=x%k;

}

}

if(x!=1) printf("%d\n",x);

}

14.以下程序的运行结果是 4

#include

#include

struct NODE

{

int num;

struct NODE *next;

};

void main( )

{

struct NODE *p,*q,*r;

int sum=0;

p=(struct NODE*) malloc(sizeof(struct NODE));

q=(struct NODE *) malloc(sizeof(struct NODE));

r=(struct NODE *) malloc(sizeof(struct NODE));

p->num=1;

q->num=2;

r->num=3;

p->next=q;

q->next=r;

r->next=NULL;

sum+=q->next->num;

sum+=p->num;

printf("%d\n",sum);

}

15.输入87653142,下面程序运行的结果是7531

#include(取出数字中的奇数并组成新的数字)

void fun(long int , long int *);

void main()

{

long s, t;

scanf("%ld", &s);

fun(s, &t);

printf("%ld\n", t);

}

void fun(long int s, long int *t)

{

int d;

long s1=1;

*t=0;

while(s>0)

{

d=s%10;

if(d%2!=0)(若改成=0,则输出数字中的偶数,并组成新的数字)

{

*t=d*s1+*t;

s1*=10;

}

s/=10;

}

}

16.下面程序运行的结果13431

#include

struct NODE

{

int k;

struct NODE *link;

};

void main()

{

struct NODE m[5],*p=m,*q=m+4;

int i=0;

while(p!=q)

{

p->k=++i;/*p指向k*/

p++;

q->k=i++;

q--;

}

q->k=i;

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

printf("%d",m[i].k);

printf("\n");

}

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=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#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C语言程序设计部分习题及例题参考程序

《C语言程序设计》部分例题及课后习题参考程序1.编程计算如下分段函数: y={2x+3 x≥10 4x 0≤x<10 5x?6 x<0 [参考程序] #include int main() { float x,y; printf("input x:"); scanf("%f",&x); if(x>=10) y=2*x+3; else if(x>=0) y=4*x; else y=5*x-6; printf("y=%.2f\n",y); } 2.编程将从键盘输入的百分制成绩转换为等级分,转换方法如下:90以上(大于或等于90,下同)为A,80分以上为B,70分以上为C,60分以上为D,60分以下,即低于60分为E。[参考程序] #include int main() { float score; char rank; printf("input a score:"); scanf("%f",&score); if(score>100||score<0) { printf("invalid score input\n"); exit(-1); } switch((int)score/10) { case 10: case 9: rank='A';break; case 8: rank='B';break; case 7: rank='C';break;

rank='D';break; default: rank='E'; } printf("%.2f:%c\n",score,rank); return 0; } 3.编程判断以从键盘输入的三个数为边长,是否能构成三角形。 [参考程序] #include int main() { float a,b,c; printf("input a,b,c:"); scanf("%f%f%f",&a,&b,&c); if(a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a) printf("(%.2f,%.2f,%.2f)能围成三角形\n",a,b,c); else printf("(%.2f,%2.2f,%.2f)不能围成三角形\n",a,b,c); } 4.编程实现将从键盘输入的一个正整数逆序输出,如输入1234,输出3421 [参考程序] #include int main() { int n; printf("input a number:"); scanf("%d",&n); do { printf("%d",n%10); n/=10; } while(n!=0); return 0; } 5.输入一个1~10范围内的整数,计算该数的阶乘。 [参考程序] #include int main() { int n,s=1,i; printf("input a number(1~10):"); scanf("%d",&n); for(i=2;i<=n;i++) s*=i;

C语言程序设计教程第一章练习题题目

单选题 1、下列语言中不属于计算机语言的三大类的是(C )。 A.机器语言 B.汇编语言 C.脚本语言 D.高级语言 2、下列说法中不正确的是(C ) A.计算机语言大致可分为三大类,即机器语言、汇编语言和高级语言 语言是一种通用的、过程式的编程语言,具有高效、灵活、可移植等优点 语言属于汇编语言 D.高级语言比汇编语言更贴近于人类使用的语言,易于理解、记忆和使用 3、以下开发工具中不属于主流的开发工具的是(B ) Studio ::Block 4、下列选项是对主流开发工具的介绍,其中错误的是(B ) Studio支持C/C++、C#、F#、VB等多种程序语言的开发和测试 ::Block是一个免费的跨平台IDE,支持C、C++和Fortan程序的开发 是一种被广泛使用的免费跨平台IDE,最初由IBM公司开发 是一款功能非常强大的IDE ( 和其他IDE不同的是,Vim本身并不是一个用于开发计算机程序的IDE,而是一款功能非常强大的文本编辑器,它是UNIX系统上Vi编辑器的升级版。) 5、下列选项中,不属于开发一个C语言应用程序的具体实现步骤的是(A ) A.启动开发工具 B.添加源文件 C.编写代码 D.运行程序 6、下列选项中,关于main()函数叙述不正确的是(C ) A.一个完整的C语言程序中,有且只能有一个main()函数 ()函数是程序的主入口,程序总是从main()函数开始执行 C.如果没有声明main()函数,程序将从第1行开始执行 ()函数可以有返回值,也可以没有返回值 7、下面程序中,合法的选项是(D ) A.#include int main() { printf("hello world\n"); return 0; } B.#include int man() { printf("hello world\n"); return 0; } C.#include int main() { printf("hello world\n") return 0; } D.#include int main() { print("hello world\n"); return 0; } 8、下面程序中,运行结果为“1,2”的是(A ) A.#include int main() { int a = 1; int b = 2; printf("%d %d\n",a,b); return 0; } B.#include int main() { int a = 1; int b = 2; printf("%d,"a); printf("%d\n",b); return 0; } C.#include int main() { int a = 1, b = 2; printf("%d,,%d\n",a,b); return 0; }

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语言程序设计教程第五章练习题题目

单选题 1、关于数组的定义与初始化,下列哪一项是错误的() A.int arr[5] = {1,2,3,4,5}; B.int arr[] = {1,2,3,4,5}; C.int arr[5] = {1,2,3}; D.int arr[5] = {1,2,3,4,5,6}; 2、在定义数组int arr[10]后,下列选项中对arr的引用正确的是() A.arr[10] B.arr[6.3] C.arr(6) D.arr[0] 3、在C语言中,引用数组元素时,其数组下标的数据类型允许是() A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 4、若int arr[5] = {1,2,3}; 则arr[2]的值为() A.1 B.2 C.3 D.null 5、在执行int arr[][3] = {1,2,3,4,5,6}:语句后,arr[1][0]的值为() A.4 B.1 C.2 D.5 6、关于二维数组,下列选项能正确定义并赋初值的是() A.int n = 5,b[n][n]; B.int a[1][2] = {{1},{3}}; C.int c[2][] = {{1,2},{3,4}}; D.int a[3][2] = {{1,2},{3,4}}; 7、阅读下列程序段: char s[18] = "a book!"; printf("%.4s\n", s); 其输出结果为() A.a book! B.a book C.a bo D.a 8、阅读下列程序: int a[4][4] = { { 1, 3, 5, }, { 2, 4, 6 }, { 3, 5, 7 } }; printf("%d%d%d%d\n", a[0][0], a[1][1], a[2][2], a[3][3]);

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

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

阅读程序题 【2.1】以下程序的输出结果是。 main(D ) { float a; 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是无符号数,已不作为负号处理。 【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;

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

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>12x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别() A、do-while的循环体至少执行一次 B、while 的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内

C语言程序设计期末考试卷及答案

C 语言程序设计期末考试卷及答案 一、单项选择题。从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。 1.一个C 语言程序的执行是从( )。 A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 B )本程序的main 函数开始,到main 函数结束 C )本程序的main 函数开始,到本程序文件的最后一个函数结束 D )本程序文件的第一个函数开始,到本程序的main 函数结束 2.下列选项中不属于...C 语言关键字的是( ) 。 A )switch B )printf C )default D )case 3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。 A )24 B ) -24 C )4 D )16 4.已知int i;float d;,则正确的表达式是( )。 A )(int d) B )int(d)%i C )(int)d%i D )int(d%i) 5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。 A )5 B )16 C )27 D )38 6.下列选项中合法的字符型常量是( )。 A )"a" B )'\n' C )"\n" D )a 7.下面程序的运行结果是( )。 #include void main( ) { int k = 15; printf("k = %d,k = %o,k = %x\n",k,k,k); } A )k = 15,k = 15,k = 15 B )k = 15,k = 17,k = 17 C )k = 15,k = 017,k = 0xf D )k = 15,k = 17,k = f 8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确... 的输入形式是( )。 A )10 B )10 C )10,20,30 D )10 20 20 20 30 30 30 9.已知int x=1,y=2,z=3;,执行下列程序段后,输出的结果是( )。 if(x>y) z=x;x=y;y=z; printf("%d,%d,%d",x,y,z); A )1,2,3 B )2,3,3 C )2,3,1 D )2,3,2 10.若变量c 为char 类型,能正确判断出c 为大写字母的表达式是( )。 A )'A'<=c<='Z' B )('A'<=c)||(c<='Z') C )(A<=c)&&(c<=Z) D )('A'<=c)&&(c<='Z') 11.有以下程序段: int k=0; while(k=1) k++; while 循环执行的次数是( )。 ------------------------------------------ 第 ----------------------------2----------------------------装 ---------------------------------------线--------------------------------------------- 班级 姓名 学号 ------------------------------------------ 第 ----------------------------1----------------------------装

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

《C程序设计》练习题 一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。(注:选用普通整型数据占用2个字节的c编译器。如Turbo C 2.0 、Win-TC、Turbo C++ 3.0) 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) iam 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类型(长度为2字节)的常数是。 A) 32768 B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x", -1); (int类型长度为2字节)屏幕显示____。 A) -1 B) 1 C) -ffff D) ffff 【1.10】已知long i=32768; 执行语句printf("%d", i); 屏幕显示____。 A) -1 B) -32768 C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d", i); 屏幕显示____。 A) 65539 B) -3 C) 3 D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。

(推荐下载)C语言程序设计练习题(含程序及参考答案)

(完整word版)C语言程序设计练习题(含程序及参考答案) 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)C语言程序设计练习题(含程序及参考答案))的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)C语言程序设计练习题(含程序及参考答案)的全部内容。

1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰返回2,一般三角形返回1,若不能构成三角形返回0。 #include 〈stdio.h〉 int fun(int a,int b,int c) { if(a+b>c && b+c>a && a+c〉b) { if(a==b && b==c ) return 3; else if(a==b||b==c||a==c) return 2; else return 1; } else return 0; } void main() { int a,b,c,shape; printf("\nInput a,b,c: "); scanf("%d%d%d”,&a,&b,&c); printf("\na=%d, b=%d, c=%d\n",a,b,c); shape =fun(a,b,c); printf("\n\nThe shape :%d\n”,shape);

C语言编程题练习

1.编程求出1000到3000之间能被7、11、17同时整除的整数的平均值,并输出(结果保留两位小数)。 2.用选择结构的嵌套实现:判断一个数是否同时是5和7的倍数 3.在给定的含n(不超过100)个整数的数组中查找某个数m,若找到则打印在数组中第几个元素,若 不在该数组中则打印“无此数”。 4.编程判断输入的正整数是否既是5又是7的整倍数。若是,输出yes,否则输出no。 5.歌唱比赛有10个评委,分别给出1~100分,除去一个最高分,再除去一个最低分,剩余8个人的给 分的平均值作为选手的最终得分。请编写该程序。 6.输入一个正整数n(1

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

C语言程序设计《习题集》

第二章 练习一 一.选择题 1.以下说法中正确的是 A)C语言程序总是从第一个的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 2.以下说法中正确的是 A)#define和printf都是C语句B)#define是C语句,而printf不是 C)printf是C语句,但#define不是D)#define和printf都不是C语句 3.在C语言提供的合法的关键字是 A)swicth B)cher C)Case D)default 4.以下选项中属于C语言的数据类型是 A)复数型B)逻辑型C)双精度型D)集合型 5.C语言中最简单的数据类型包括 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型 6.C语言提供的合法的数据类型关键字是 A)Double B)short C)integer D)Char 7.在C语言中,不正确的int类型的常数是 A)32768 B)0 C)037 D)0xAF 8.在C语言中,合法的长整型常数是 A)0L B)4962710 C)0.054838743 D)2.1869e10 合法的C语言中,合法的字符型常数是 A)'\t' B)"A" C)65 D)A 9.在C语言中,合法的字符常量是 A)'\084' B)'\x43' C)'ab' D)"\0" 10.下列不正确的转义字符是 A)'\\' B)'\" C)'074' D)'\0' 11.若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为 A) float B) int C) char D) double 12.设x和y均为int 型变量,则以下语句:x=x+y;y=x-y;x=x-y;的功能是 A把x 和y按从大到小排列 B把x和y按从小到大排列 C无确定结果

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

C语言程序设计-----阅读程序题库及答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

阅读程序题 【】以下程序的输出结果是。 main(D ) { float a; printf("%g",a); } A) +00 B) C) D) 0 【】下面程序的输出结果是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 【】以下程序的输出结果是___B_。 main() { unsigned int n; int i=-521; n=i; printf("n=%u\n",n); }s",s); } A) a book! B) a book!<四个空格》 C) a bo D) 格式描述错误,输出不确定

【】下面程序的输出结果是____。 main() { int a,b; scanf("%2d%3d",&a,&b); printf("a=%d b=%d\n",a,b); } A) a=12 b=34 B) a=123 b=45 C) a=12 b=345 D) 语句右错误 【】以下程序段的输出结果是。 int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);

A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50 【】以下程序的输出结果是。 main() { int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf("d=%d\n",d); } A) d=10 B) d=15 C) d=20 D) d=25 【】下面程序的输出结果为。 main()

C语言程序设计复习题

《C语言程序设计》复习题 一、判断题(本大题共60个小题) 1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。 2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。 3.注释内容太多会影响程序的执行效率。 4.变量要“先定义,后使用”。 5.字符常量'a'与字符串常量"a"没有区别。 6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。 7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。 8.表达式5/2+5.0/2+7%6 的值为5.5。 9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。 10.设int a=12; 则表达式a/=a+a的值是0.5。 11.在C语言中,运算符!比&&的优先级高。 12.在C语言中,运算符的优先级最小的是逗号运算符。 13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。 14.以下程序运行结果是:1,7,0 void main() { int x=1,y=1,z=10; if(z< 0) if(y> 0) x=3; else x=5; printf(" %d," ,x); if(z=y< 0) x=3; else if(y==0) x=5; else x=7; printf(" %d,%d" ,x,z); } 15.该程序运行结果是:BCother void main()

{ char x=‘B’; switch(x) { case ‘A’: printf(“A”); case ‘B’: printf(“B”); case ‘C’: printf(“C”); default: printf(“other”); } } 16.下面程序段运行时输出结果是a=2,b=8 void main() { int x=1,y=1,a=2,b=7; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,b); } 17.下面程序,当输入为:"abc?" 时,执行结果是:abc void main() { char c; c=getchar(); while (c!='?' ) { putchar(c); c=getchar();} }

相关文档
最新文档