C语言程序设计-------阅读程序题库及答案.pdf
C语言程序设计试题及参考答案

C语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(D)A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面2、下列四个选项中,是不合法的用户标识符的选项是(B)A、abcB、12ACC、sunD、A3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A)A、-24B、0C、4D、164、下列运算符中优先级最高的是(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、7B、6C、5D、48、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=45B、m=234n=56C、m=23n=456D、语句有错误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、1011、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(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);}A、1,5,9B、1,4,7C、3,5,7D、3,6,914、以下能对一维数组a进行正确初始化的语句是(C)A、inta[10]=(0,0,0,0,0);B、inta[10]={};C、inta[10]={0};D、inta[10]={10*1};15、以下程序执行后的输出结果是:(A)intfun(inta,intb,intc){a=456;b=567;c=678;}voidmain(){intx=10,y=20,z=30;z=fun(x,y,z);printf(“%d,%d,%d\n”,z,y,x);}A、30,20,10B、10,20,30C、10,30,50D、10,30,4016、以下说法正确的是(A)如果在一个函数中的复合语句中定义了一个变量,则该变量A、只在该复合语句中有效B、在该函数中有效C、在本程序范围内有效D、为非法变量17、以下函数调用语句中含有的实参个数为(B)func((exp1,exp2,exp3),(exp4,exp5));A、1B、2C、4D、518、在C语言程序中,以下说法正确的是(B)。
(完整版)C语言程序设计题库及答案,推荐文档

A.552 B.264 C.144 D.-264 30 . int a=3,b=2;printf(“%d,%d\n”,--a,b++);输出结果是(A )。
A.2,2 B.2,3 C.3,2 D.3,3
判断题(共 5 题,每题 2 分) 1 . 只能在循环体内和 switch 语句体内使用 break 语句。(对) 2 . 一个算法应该具备有穷性、确定性、输入、输出和有效性。(对) 3 . C 语言中,每个程序都必须要有一个且只有一个 main 函数。(对) 4 . 调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。(对)
5 . 表达式 16/8*sqrt(4.0)/2 值的数据类型为 double 双精度实型。(对)
第二套试题
单选题(共 20 题,每题 4 分) 1 . 若有输入语句 scanf( %d%d%d,&x,&y,&z);则不能使 x 值为 5,y 值为 6,z 值为 7 的输入是___A___。
A.5,6 ,7
A.5,6 ,7
B.5 回车换行 6 7 C.5 6 7
D.5,6,7
12 . 若 i,j 已定义为 int 类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...}
A.12
B.15
C.16
13 . 下列选项中,合法的 C 语言关键字是_D___。
A.1
B.3
C.2.0
D.2.5
19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。 A.1 B.2 C.3 D.6 20 . 有 int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。 A.x&&y B.! (x<y&&!z||1) C.x||y+z&&y-z D.x<=y 21 . 已定义 c 为字符型变量,则下列语句中正确的是____C__。
(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint 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);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。
C语言程序设计试卷3(含答案)

题 目 得 分 阅卷人
一
二
三
四
总 分
分数核对
二、阅读程序题答题处: 1 题【41】 4 题【44】 6 题【46】 8 题【48】
(每空 3 分,共 30 分) 2 题【42】 5 题【45】 7 题【47】 9 题【49】 10 题【50】 3 题【43】
三、程序改错题答题处:(每空 2 分,共 12 分) 1题 【51】 【52】 【53】 2题 【54】 【55】 【56】 四、完善程序填空题答题处:(每空 2 分,共 18 分) 1题 【57】 【58】 【59】 2题 【60】 【61】 【62】
1Leabharlann 56737.下列语句中,能正确打开 A 盘 STU 文件夹下 t1.txt 文件的是 【37】 。 A) fp=fopen("A:\STU\t1.txt", "r"); B) fp=fopen(A:\STU\t1.txt, "r"); C) fp=fopen("A:\\STU\\t1.txt", "r"); D) fp=fopen(A:\\STU\\t1.txt, r);
D) 1
12.下列程序段的输出结果是 【12】 。 int i=26; do { printf("%d", i%8); } while ( i = i/8 ); A) 死循环 B) 3 C) 23 D) 32 13.已知:int k=10; 则下面的 while 循环 【13】 。 while (k=0) k--; A) 执行 10 次 B) 是死循环 C) 一次也不执行 14.以下对二维数组 a 的正确定义是 A) int a[3][] ; C) #define N 3 int a[N][N+1]; 15.已知如下数组定义:
C语言程序设计习题参考答案

C 语言程序设计习题答案习题一 C 语言程序设计概述一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2(5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4(9)结构化的程序设计P9二、简述题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法的要素是什么?算法具有哪些特点?答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种?答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。
4. 有哪三种基本结构?答:三种基本结构是:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S 流程图最大的区别是什么?答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图、N-S 图分别表示求解以下问题的算法。
1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。
2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。
3. 求1+2+3+…+100的值。
4. 求1×2×3×…×10的值。
5. 求下列分段函数的值。
6. 求100~200之间的所有素数。
7. 求一元二次方程ax 2+bx+c=0的根。
分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。
四、注释下面C 程序的各个组成部分。
main() /*主函数 */{ /*程序开始 */int a,k,m; /*定义三个用来存放整数的变量 */a=10; /*将整数10赋值给变量a */k=2; /*将整数2赋值给变量k */m=1; /*将整数1赋值给变量1 */a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */printf("%d\n",a); /*在屏幕上打印出变量a 的值 */} /*程序结束 */习题二 数据类型、运算符与表达式一、选择题1~10:BCDCB DDBCA11~20: ADDAA DBADC21~28: DABAD CDD3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)二、填空题1.字母L 或字母l2.字符或%c 、整数或%d3.在程序运行过程中,其值可以在一定的范围内变化的量。
C程序设计题库(含答案)

C程序设计题库(含答案)一、单项选择题1.基础知识1、以下说法中正确的是()A、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分答案:C2、下列字符序列中,可用作C标识符的一组字符序列是()。
A)S.b,um,average,_aboveB)cla,day,lotu_1,2dayC)#md,&12某,month,tudent_n!D)D56,r_1_2,name,_t_1答案:D3、以下标识符中,不能作为合法的C用户定义标识符的是()。
A)a3_b3B)voidC)_123D)IF答案:B4、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)A、6.500000B、6C、5.500000D、6.0000005、以下的选择中,正确的赋值语句是()。
A)a=1,b=2B)j++C)a=b=5;D)y=int(某)答案:C6、在C语言中,能代表逻辑值“真”的是()。
A)TrueB)大于0的数C)非0整数D)非0的数答案:D7、下列程序的输出结果是()。
main(){charc1=97,c2=98;printf(\}A)9798B)97bC)a98D)ab答案:B8、执行下列语句后变量某和y的值是()。
y=10;某=y++;A)某=10,y=10B)某=11,y=11C)某=10,y=11D)某=11,y=10答案:C9、设a=12,且a定义为整型变量。
执行语句a+=a-=a某=a;后a的值为()。
A)12B)144C)0D)132答案:CA)1990B)1992C)1996D)2000答案:A11、下列程序的输出结果是()。
main(){inta=7,b=5;printf(\}A)0B)5C)1D)不确定值答案:A12.以下关于运算符优先顺序的描述中正确的是()。
C语言程序设计---阅读程序题库及答案

C语言程序设计---阅读程序题库及答案程序设计是计算机科学的基础领域之一,而C语言作为一种广泛应用于程序设计的高级语言,被广泛运用于软件开发、嵌入式系统及算法实现等领域。
阅读程序题库是提供给学习者进行练习和理解C语言编程知识的重要资源。
本文将介绍一些常见的C语言程序设计题库,并提供相应的题目及答案,帮助读者更好地掌握C语言程序设计。
一、数据类型和表达式1. 编写一个程序,接受用户输入的两个整数,并交换它们的值。
程序代码如下:```c#include <stdio.h>int main() {int num1, num2, temp;printf("输入两个整数:\n");scanf("%d %d", &num1, &num2);temp = num1;num1 = num2;num2 = temp;printf("交换后的值为:%d %d", num1, num2);return 0;}```2. 编写一个程序,计算并输出圆的面积和周长。
用户输入圆的半径。
程序代码如下:```c#include <stdio.h>#define PI 3.14159int main() {float radius, area, circumference;printf("输入圆的半径:\n");scanf("%f", &radius);area = PI * radius * radius;circumference = 2 * PI * radius;printf("圆的面积为:%f\n", area);printf("圆的周长为:%f\n", circumference);return 0;}```二、条件语句和循环1. 编写一个程序,判断一个整数是否为偶数。
C语言程序设计-------阅读程序题库与答案

阅读程序题【2.1】以下程序的输出结果是。
main(D) {floata;a=1/100000000;printf("%g",a);}A)0.00000e+00B)0.0C)1.00000e-07D)0【2.2】下面程序的输出结果是B____。
#include<stdio.h>main(){intx=10;{intx=20;printf("%d,",x);}printf("%d\n",x);}A)10,20B)20,10C)10,10D)20,20【2.3】以下程序的输出结果是___B_。
main(){unsignedintn;inti=-521;n=i;printf("n=%u\n",n);}//变量i中的负号传送给变量n后,因n是无符号数,已不作为负号处理。
A)n=-521B)n=521C)n=65015D)n=102170103【2.4】以下程序的输出结果是。
main(D){intx=10,y=10;n",x――,――);y}A)1010B)99C)910D)109【2.5】以下程序的输出结果是___B。
main(){intn=1;printf("%d%d%d\n",n,n++,n--);}//C语言在执行printf()时,对函数中的表达式表列的处理顺序是从后向前,即先处理n--,再处理n++,最后处理n,A)111B)101C)110D)121【2.6】以下程序的输出结果是____。
main(){intx=0x02ff,y=0x0ff00;printf("%d\n",(x&y)>>4|0x005f);}A)127B)255C)128D)1【2.7】以下程序的输出结果是____。
main(){inta=1;charc='a';floatf=2.0;printf("%d\n",(!(a==0),f!=0&&c=='A'));}A)0B)1【2.8】下面程序的输出结果是____。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【】以下程序的输出结果是 { float a ; a=1/0 ; printf("%g" , a) ; } A) +00 B) C) D) 0
。 main(D )
【】下面程序的输出结果是 B____。
#include <>
main( )
{ int x=10 ;
{ int x=20 ;
printf ("%d , ", x) ;
【】下面程序的输出结果是 ____。 main() { int k=0 ; char c='A' ; do { switch(c++) { case 'A': k++ ; break ; case 'B': k-- ; case 'C': k+=2 ;break ; case 'D': k=k%2 ; contiue ; case 'E': k=k+10 ; break ; default: k=k/3 ; } k++; }while(c<'C') ; printf("k=%d\n",k) ; } A) k=1 B) k=2 C) k=3 D) k=4
#include <>
main( )
{ int a[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4}
int i,j,n ; n=9;
i=n/5 ;
j=n-i*5-1 ;
printf("a[%d][%d]=%பைடு நூலகம்\n", i,j,a[i][j])
}
A) 6 B) -3 C) 2 D)
}
A) 11 B) 20 C) 21 D) 31
【】下面程序的输出结果是 ____。
#include <>
void fun(int *s)
{ static int j=0
;
do
{ s[j]+=s[j+1] ;
}while(++j<2) ;
}
main()
{ int k,a[10]={1,2,3,4,5}
fun(i) ;
printf ("\n%d ,%d", i ,k) ; /* ① */
}
fun(int m)
{ m+=k ;k+=m;
{ char k='B' ;
printf("\n%d" ,k-'A') ; /* ② */
【】下面程序的输出结果为 。
main()
{ int a=1,b=0 ;
switch(a)
{ case 1: switch (b)
{ case 0: printf("**0**")
; break ;
case 1: printf("**1**")
; break ;
}
case 2: printf("**2**")
for(j=0 ; j<3 ; j++ )
n[i][j]=i+j ;
for(i=0 ; i<2 ; i++ )
for(j=0 ; j<2 ; j++ )
n[i+1][j+1]+=n[i][j]
;
printf("%d\n", n[i][j]) } A) 14 B) 0 C) 6 D)
; 不确定
【】下面程序的输出结果是 ____。
}while(!b) ; printf("a=%d,b=%d",a,b) ; } A) 1,2 B) 2,1 C) 1,1 D) 2,2
【】从键盘上输入 "446755" 时,下面程序的输出是 ____。
#include <>
main()
{ int c ;
while((c=getchar())!='\n')
; break ;
}
}
A) **0** B) **0****2** C) **0****1****2** D)
错误
【】以下程序的输出结果是 { char *s="" ; int v1=0,v2=0,v3=0,v4=0,k for(k=0 ; s[k] ;k++) switch(s[k]) { case '1': v1++ ; case '3': v3++ ; case '2': v2++ ; default: v4++ ;
printf("%d\n",k) ;
} A) 20 B) 21 C) 22 D) 23
【】假定从键盘上输入 ",< 回车 >", 下面程序的输出是 ____。
#include <>
main()
{ float x,y,z ;
scanf("%f,%f",&x,&y) ;
z=x/y ;
while(1)
{ if(fabs(z)>
。 main() ;
有语法
}
printf("v1=%d, v2=%d, v3=%d, v4=%d\n",v1,v2,v3,v4)
;
}
A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1
C) v1=5,v2=8,v3=6,v4=1 D) v1=4,v2=7,v3=5,v4=8
;
for(k=1 ; k<3; k++)
fun(a) ;
for(k=0 ; k<5; k++)
printf("%d",a[k])
;
}
A) 35756 B) 23445 C) 35745 D) 12345
【】下面程序的输出结果是 ____。
#include <>
int k=1 ;
main( )
{ int i=4 ;
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
#include <>
#include <>
main( )
{ char str[100] ="How do you do"
;
strcpy( str + strlen(str)/2, "es she")
;
printf("%s\n", str)
;
}
A) How do you do B) es she C) How are you D) How does
【】下面程序的输出结果是 ____。 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 ;
【】下面程序的输出是 ____。
main() { int num=0 ; while(num<=2) { num++ ; printf("%d\n",num) ; } } A) 1 B) 1 C) 1 D) 1 222 33 4
【】下面程序的输出结果是 ____。 main() { int a=1,b=0 ; do { switch(a) { case 1: b=1 ;break ; case 2: b=2 ; break ; default : b=0 ; } b=a+b;
【】下面程序的输出结果是 ____。 #include <> f(char *s) { char *p=s ; while(*p!='\0') p++; return(p-s) ;
}
main()
{ printf("%d\n",f("ABCDEF"))
;
}
A) 3 B) 6 C) 8 D) 0
【】下面程序的输出结果是 ____。
【】下面程序的输出结果是 ____。
#include <>
main( )
{ int i,k,a[10],p[3]
;
k=5;
for(i=0 ; i<10 ;i++)
a[i]=i ;
for(i=0 ; i<3 ; i++)