C语言复习题(1)

合集下载

C语言程序设计期末复习题及答案(1)

C语言程序设计期末复习题及答案(1)
4. 设int i = 5;则语句while (i > = 1) i - -;执行后i的值为_0______。
5. n为整型,表达式n=1,n+2,n*5 的值是__5_______。
6. 已知:float x=8.53; 整形变量i=(int)x;则i=__8_____。
7. 已知:int x=5;语句y=x++*x++;执行完成后x=___7__,y=_25____。
int i, k, num;
gets(str1); gets(str2);
i=strlen(str1);
k=strlen(str2);
num=______? ____: ____;
printf("%d\n", num);
}
2. 下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能,补充空白处的程序。
for (j=0;j<n-1-i;j++)
if (a[j]>a[j+1])
{c=a[j];a[j]=a[j+1];a[j+1]=c;}
}
2. 本题20分.总体程序完整性3分,结构体定义正确3分,结构体数组定义以及初始化正确6分,指针定义正确3分,输出判断正确3分,输出姓名地址2分。以下代码为参考代码,答案不唯一。
(B)在指针操作中,运算符“&”是取指针指向的对象的值。
(C)在指针操作中,运算符“*”的操作对象是一个地址。
(D)语句int *ip;定义了指针变量只能存放整型变量的地址。
14.判断字符串str1是否大于字符串str2,应当使用___d________。
(A)if (str1>str2)

C语言程序设计复习题(一)1的阅读程序部分

C语言程序设计复习题(一)1的阅读程序部分
3
} case 2: printf("third\n"); } } 结果:first third 4.下列程序运行结果是【 -1 】 。 #include<stdio.h> main( ) { int n=4; do n--; while (n); printf("%d\n",--n); } 5.下列程序运行结果是【 】 。 #include<stdio.h> dec( ) { static int x=5; x--; printf("%d",x); } main( ) { int k; for(k=0;k<3;k++) dec( ); } 结果:4 3 2 五.程序填空(请依题意,将程序中括号部分补充完整。每题 3 分,共 15 分) 1. 一个正整数与 3 的和是 5 的倍数,与 3 的差是 6 的倍数,编写一个程序求符合条件的最 小数。 #include <stdio.h> main() { int n; n=1; while (1) { n=n+1; if 【 (1) (n+3)%5==0&&(n-3)%6==0 】break; } printf("n=%d",n); } 2.将两个字符串合并成一个字符串。 #include <stdio.h> main() { char s1[20],s2[20],s3[40]; int i,j; printf("String1:"); gets(s1); printf("String2:》复习题(二)
一.单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答 案的题号,填入题中的括号内。多选不给分。每题 1 分,共 20 分) 1.在 C 语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。设一表达式 中包含有 int、 long、 unsigned、 char 类型的变量和数据, 则表达式最后的运算结果是 【 ④ 】 类型数据。 ① int ② char ③ unsigned ④ long 2.若 int 型数据占 2 个字节,则以下语句的输出为 【 ④ 】 。 int k=-1; printf(“%d,%u\n”,k,k); ① -1,-1 ② -1,32767 ③ -1,32768 ④ -1,65535 3.设 x 和 y 均 为 int 型 变 量 , 则 执 行 以 下 语 句 后 的 输 出 为 【 ① 】 。 x=1 5; y=5 ; pri ntf( “ %d\n ” ,x%= (y%= 2)); ① 0 ② 1 ③ 6 ④ 12 4.若 x 为 uns igned in t 型 变 量 , 则 执 行 以 下 语 句 后 的 x 值 为 【 ④ 】 。 x=6 5535; pri ntf( “ %d\n ” ,x); ① 65535 ② 1 ③ 无定值 ④ -1 5 . 判断 char 型变量 c1 是否为小写字母的最简单且正确的表达式为【 ④ 】 。 ① ’a’<=c1<=’z’ ② (c1>=a)&&(c1<=z) ③ (‘a’<=c1)||(‘z’>=c1) ④ (c1>=’a’)&&(c1<=’z’) 6 . 以下不正确的 if 语句是【 ③ 】 。 ① if (x>y); ② if (x= =y) x+=y; ③ if (x!=y)scanf(“%d”,&x) else scanf(“%d”,&y); ④ if (x<y) {x++;y++;} 7 . C 语言对嵌套 if 语句的规定是:else 总是与【 ④ 】 配 对 。 ① 其 之 前 最 近 的 if ② 第 一 个 if ③ 缩 进 位 置 相 同 的 if ④ 其 之 前 最 近 且 不 带 else 的 if 8 . 设有说明语句:int a=2,b=7,c=5;则执行以下语句后,输出为【 ② 】 。 switch(a>0) { case 1: switch(b<0) { case 1: prin tf(“@”); break; case 2: p rintf(“!”); b reak; } case 0: switch(c==5) { case 0: prin tf(“*”); break; case 1 : p rintf(“#”); b reak; default:printf(“$”); break; } defau lt: p rin tf(“&”); } ① @#& ② #& ③ *& ④ $& 9 . 若有说明语句:int w=2,x=3,y=3,z=4;则表达式 w>x?w:z>y?z:x 的值是 【 ① 】 。 ① 4 ② 3 ③ 2 ④ 1 10.下面有关 for 循环的正确描述是【 ④ 】 。 ① for 循环只能用于循环次数已经确定的情况 ② for 循环是先执行循环体语句,后判定表达式

C语言题库(1).docx

C语言题库(1).docx

一. 选择题 (单项)1. C 语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符——。

A必须为字母B必须为下划线C必须为字母或下划线 D 可以是字母、数字和下划线中的任一种字符2.下面 4个选项中,均是 C 语言关键字的选项是——。

Aauto enum includeBswitch typedef continueC signed union scanfD if struct type3.下面 4个选项中,均是不合法的用户标识符的选项是——。

A A P_0 doBfloat la0_AC b- a goto int D_123 temp INT4.在 C 语言中,int 、char 和 short 三种类型的数据在内存中所占用的字节数——。

A由用户自己定义B均为 2 个字节C是任意的D由所用机器的机器字长决定5.下面 4 个选项中,均是合法浮点数的选项是——。

A+1e+15e-9.403e2B- .60 12e-4-8e5C123e 1.2e-.4 +2e - 1D-e3 .8e-4 5.e -06.下面不正确的字符串常量是——。

AˊabcˊB〞 12ˊ12〞C〞0 〞D〞〞7.假设所有的变量均为整型,则表达式(a=2,b=5,b++, a+b)的值是——。

A7B8C6D28.以下正确的叙述是——。

A在 C 语言中,每行只能写一条语句B若 a 是实型变量, C 程序中允许赋值a=10,因此实型变量中允许存放整型数C在 C 程序中,无论整数还是实数,都能被准确无误的表示D在 C 程序中, % 是只能用于整数运算的运算符9.以下表达式值为 3 的是——。

A 16-13%10B2+3/2C 14/3-2D(2+6)/(12- 9)10.设变量 a 是整型, f 是实型, i 是双精度型,则表达式 10+ˊ aˊ +i*f 值的数据类型为——。

A intB floatC doubleD 不确定11.在 C 语言中, char 型数据在内存中的存储形式是——。

C语言精编100题(C语言考试题库) ( 1 )

C语言精编100题(C语言考试题库) ( 1 )

C语言精编100题一、单选题1.由C语言编写的代码程序( )A. 可直接执行B. 是一个源程序C. 经过编译即可执行D. 经过编译解释才能执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母B. 中划线C. 数字字符D. 下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )A. longB. _2TestC. 3DmaxD. A.dat5.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14159EC. 5E-3D. E159.以下选项中,不能作为合法常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’13.下列运算符中优先级最高的运算符是( )( )A. <=B. =C. %D. &&A. ==B. /C. =D. >=14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 1D. 015.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)D. x+1=x+116.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;D. k=i==j;17.表达式3.6-5/2+1.2+5%2的值是( )A. 4.3B. 4.8C. 3.3D. 3.818.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3B. 0C. 9D. -1219.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10B. 20C. 40D. 3020.以下程序的输出结果是( )( )( )( )( )⑴ main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1D. 10,1⑵ main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);}A. 10 10B. 12 12C. 11 10D. 11 13⑶ main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23D. 24⑷ main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10B. 9 9C. 9 10D. 10 9⑸ main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,921.以下程序的输出结果是( )main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200B. 100C. 100 200 D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下程序的输出结果是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下程序的输出结果是(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11B. k=11,k=13,k=13C. k=11,k=013,k=0xbD. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入9876543210<CR>(<CR>表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("%2d%3f%4f\n",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

C语言习题集(平时练习含答案)1

C语言习题集(平时练习含答案)1

C语言习题集第一章C语言概述复习要点:1. 程序的构成,main函数和其他函数。

2.语句,注释3.运行C程序的步骤和方法习题:1.C程序是由函数构成的,一个C程序中至少包含一个main函数。

2.函数是C程序的基本单位。

(最小单位是表达式)3.C程序有且只有一个main函数。

4.C程序从main函数开始执行。

5.C程序注释符是由/*和*/组成,且不能嵌套使用。

6.C程序的语句是以; 结束。

7.C程序一条语句可分多行写,需要以为连接符。

(可以直接换行)8.C程序可以用{ 和} 将多条语句括起来,形成复合语句。

9.上机运行一个C程序必须经过源代码输入,编译,连接,运行4个步骤。

10.C程序的源文件扩展名是。

c 。

11.以下叙述中正确的是(C)A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,main必须小写,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数12.以下叙述中错误的是(D)A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令13.以下不是语句的是(A)A) a=10 B)a=b+c;c=20;C) ; D){a=b;b++;}14.运行以下程序main(){int a=10; /* 定义一个变量 aa=20; */printf(“%d”,A); 此程序应该改写为:printf(“%d”,a)}输出的结果是 B 。

A) 10 B)2015.牢记VC++6.0的出错提示英文提示中文实际意义missing ; , ( { 等表示缺少;,( {'T' : undeclared identifier T没有定义(T要先定义然后才能使用)'sqrt' undefined; sqrt如果是函数名则表示它的头文件没有包含'T' : redefinition T重复定义(可能是多次定义了T)Cannot open include file 头文件的拼写或路径的不对第二章数据类型,运算符与表达式复习要点:1. C的数据类型(整型,字符型,浮点型)及其定义方法。

(完整版)C语言各章节复习题(带答案)

(完整版)C语言各章节复习题(带答案)

一、C语言概述练习题选择1.一个C程序的执行是从。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。

A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。

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

A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。

A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。

A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件7.以下叙述正确的是。

A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。

C语言复习题库(1)

C语言复习题库(1)

一、填空题(每空 1 分,共20 分)1.程序的三种基本结构为(顺序)、(选择)和(循环)。

2.在C 语言中,用(;)表示语句的结束。

3.语句printf("%%d%d",123);将输出:(“%d123 )。

4.逻辑运算的结果值是(0 )或( 1 )。

5.数组 int a[3][4];共定义了(12 )个数组元素。

6.在 C 语言中,正确的标识符是由(数字、字母、下划线)组成的,且由(字母和下划线)开头的。

7.一个算法应具有的特点有:(有穷性)、(确定性)、有零个或多个输入、有一个或多个输出、有效性。

8.在程序执行过程中,其值不发生改变的量称为(常量),其值可变的量称为(变量)。

9.若有定义:int m=5,y=2;则执行表达式y+=y-=m*=y 后的y 值是(-16 )。

10.在三种正规循环中,当条件表达式的值为(0 )时,就结束循环。

11.C 语言中函数的参数分为(形式参数)和(实际参数)。

12.当函数的数据类型省略时,默认的数据类型为(int 型或者整数型)型。

13.按变量地址访问变量的方法叫(直接访问),通过存放变量地址的变量去访问变量的方法叫(间接访问)。

14.若有定义:int [3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是(0 ),a[2][1]得到的初值是( 6 )。

15.文件包含的一般形式为(#include <文件名> )。

16.宏定义中宏名一般用大写字母表示,容易做到(一改全改)。

17.结构体是一种(构造)数据类型用途是把(不同类型)的数据组合成一个整体。

18.位运算的运算对象只能是(整型)或(字符型)数据,而不可以是其他类型的数据。

19.(文件)是存储在外部介质上数据的集合,是操作系统数据管理的单位。

20.设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是(9 )。

C语言程序设计1(专升本)期末考试试题及参考答案

C语言程序设计1(专升本)期末考试试题及参考答案

C语言程序设计1(专升本)期末考试试题及参考答案C语言程序设计复习题1(专升本)一、选择题1.用C语言编写的代码程序()。

A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2.在C语言中,下列属于构造类型的是()A)整型B)字符型C)实型D)数组类型3.C语言中,运算对象必须是整型数的运算符是()。

A)% B)\ C)% 和\ D)**4.下列常数中,合法的C 常量是()。

A)-0. B) '105' C)'AB' D)"35"5.设整型变量a值为9,则下列表达式中使b的值不为4的表达式()。

A)b=a/2 B)b=a%2 C)b=8-(3,a-5) D)b=a>5?4:26.下列符号中,可以作为变量名的是()。

A)+c B)*X C)_DAY D)next day7.有以下程序main(){ char a,b,c,d;scanf("%c,%c,%d,%d",&a, &b, &c, &d);printf("%c,%c,%c,%c\n",a, b, c, d);}若运行时从键盘上输入:6,5,65,66。

则输出结果是()。

A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,68.以下叙述中错误的是()。

A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句9. 以下叙述中正确的是()。

A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10能正确表示逻辑关系“a≥=10或a≤0”的C语言表达式是()。

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

1.C语言源文件的扩展名为.c_,C语言必须要有一个_主函数,而且只能有一个。

2.在C语言中,不能被调用的函数是main()_函数。

3.C语言程序总是从_主函数开始执行,并且终止于该函数。

4.若自定义函数要求返回一个值,则应在该函数体中有一条return_语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型符_void。

5.printf()函数中的“\n”表示换行_作用。

6.C语言所提供的基本数据类型包括:单精度型、双精度型、整型_、字符型_。

7.C语言程序,关键字必须使用小写_字母。

8.若定义int a=8,则表达式a+=a-=a*=a的值是_0。

9._printf()函数的功能是按照指定的输出格式在显示器上显示指定的内容。

10.若有定义int5 w=5,x=2,y=3,z=4,则条件表达式w<x?w:(y<z?y:z)的值是_3。

11.运算符"+ "、“,”、"%"、"="中,优先级最高的是++_,优先级最低的是,_。

12.当m=3,n=4,a=5、b=1、c=2时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为0_,m的值为_1,d的值为0_。

13.scanf函数和printf函数中的%d表示将待输出的数据按带符号的十进制_格式输出。

14.C语言提供的三种逻辑运算符是&&_、||_、_!。

15.在数组定义的格式中,方括号中的元素个数只能是整型常_量。

16.比较两个字符串是否相等的应用库函数strcmp()_.17.在C语言中,一个函数一般由函数首部_和函数体_两个部分组成。

18.函数中的形参和调用时的实参都是数组名时,传递方式为地址传递_;都是变量时,传递方式为_值传递.19.#define命令容许宏名带参数,称之为带参数_的宏20.在C语言中,预处理命令都以#_开头。

21.所谓的“指针”就是变量的存储地址_;%运算符的作用是_取余.1.C语言中语句的结束符是(;)2.下面不正确的C语言字符串常量时cA.“1234” B.‘DEF’ C.“7” D。

“”3.C源文件的扩展名为(c)4.下面4个选择中,不合法标识符的选项是(float)5.合法注释时(/*This is fantasy*/)6.以下描述中正确的是:(c)A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但是必须有输入C)用C程序实现的算法可以没有输入但是必须有输出D)用C程序实现的苏凡可以既没有输出也没有输入7.以下关于运算符优先级顺序描述正确的是(c)赋值运算符逻辑运算符关系运算符、算数运算符、、8.判断char型变量ch是否为数字的正确表达式为:(c)A)’0’<=ch<=9B)(ch>=’0’)&(ch<=’9’)C)(ch>=’0’)&&(ch<=’9’)D)(‘0’<=ch)AND(9>=ch)9.C语言提供的逻辑非运算符分别是cA)||B)&&C)!D)&10.语言中函数体用(D)起来A) < >B) ( )C) [ ]D) { }11.下面有关for循环正确描述是DA)for循环只能用于循环次数已经确定的情况B)for最先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环语句中,可以包换多条语句,但必须用花括号括起来12.C语言程序的基本单位是D程序语句字符函数13.判断char型变量ch是否为小写字母的正确表达式为(ch>=’a’)&&(ch<=’z‘)14.以下定义不正确的是DA)#define A 234B)#define Pi 3.14259C)int func(int a,float b)D)static char ch;15.在C语言中,预处理命令都以(A )开头A)#B)*C)&D)/*16.同时定义b和d两个变量为浮点型数据时,中间用(A)分割。

A),B);C)。

D)、17.在宏定义#define PI 3.1415中,宏名PI替代的是一个(A)字符串单精度数双精度数常量18.以下不合法的C语言赋值语句为D++a;n=(n=(p=0));a=b==c;k=a+b=119.要使指针变量p指向一维数组a的第3个元素(下标为2的那个元素),正确的赋值表达式为:BP=&a或p=&a[2]P=a+2或p=&a[2]P=a+2或p=a[2]P=&a+2或p=a[2]20.以下不正确的说法为:D在不同函数中可以使用相同名字的变量形式参数是局部变量在函数内容定义的变量只在本函数范围内有效在函数内的复合语句中定义的变量在本函数范围内有效21.已知各变量的类型说明为:int S=10,k,a,b, double z=1.4,y=5.6 则以下符合C语言语法的表达式是:Ab+=a=(b=4)*(a=3)a=a*6=1z%(-6)y=double (S)程序填空1.下面程序的功能是输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字立方和等于该数字本身,例如,153=13+53+33【此题有两种方法】#include<stdio.h>main(){int a,b,c,i;for (i=0;i<=999;i++){a=i%10;b=(i/10)%10;c=i/100;if(i==(a*a*a+b*b*b+c*c*c))printf(“%d\n”,i);}或者#include<stdio.h>main(){int a,b,c,str,i;for (i=0;i<=999;i++){a=i%10;b=(i/10)%10;c=i/100;sqr= a*a*a+b*b*b+c*c*c;if(sqr==i)printf(“%d\n”,i);}2.下面程序的功能是求下面分数序列的前10项之和:,,,,……填写完整程序,使得程序实现其功能。

#include <stdio.h>main(){float a,b,t,sum;int i;a=2,b=1,sum=0;for(i=1;i<=10;i++){t=a/b;sum+=t;a=a+b;b=a-b;}printf("sum=%f\n",sum);}3. 用近似公式计算e的值,要求误差小于10-5 e=1++++…+#include <stdio.h>main(){double e=1.0;int i=1,sum=1;while((1.0/sum)>1e-5){e=e+1.0/sum;i++;sum=sum*i;}printf(“i=%d,e=%f\n”,i,e);}4. 从键盘输入一个字符,判断该字符的类型,若该字符是数值,则直接输出;若该字符是字母,则输出该字母;若是其他字符,则输出“Other character”。

#include <stdio.h>main(){char ch;printf(“Input a character:”);ch=getchar();if(ch>=’0’&&ch<=’9’)printf(“%c\n”,ch);else if((ch>=’A’&&ch<=’Z’)||(ch>=’a’&&ch<=’z’))printf(“%c\n”,ch);else printf(“Other character\n”);}5. 从键盘输入3个整数放到一维数组a中,经过计算后输出第一个数组元素。

#include <stdio.h>main(){int a[3]={3*0};int i;for (i=0;i<3;i++)scanf(“%d”,&a[i]);for(i=1;i<3;i++) a[0]=a[0]+a[i];printf(“%d\n”,a[0]);}五读程序写结果1.#include <stdio.h>main(){int x[6]={1,2,4,6,8,10},*p;for(p=x;p<x+5;p++)printf(“%d\n”,*(++p));}答案:2,6,102.#include <stdio.h>main(){static char s[]={“ABCHJK”};char*p=s;*(p+2)+=3;printf(“%C,%C\n”,*p,*(p+2)); }答案:A,K3.#include <stdio.h>#define DouBLE(r) r*rmain(){int x=4,y=8·t;t=DouBLE(x-y);printf(“t=%d\n”,t);}答案:t=284.#include <stdio.h>#define MIN -40main(){int x=20,y=10;#if(MIN<x)printf(“%d\n”,x);#elseprintf(“%d\n”,y);#end if} 答案:205. #include <stdio.h>#define K(x,y) x=x+y,y=x-y,x=x-y main(){int a=10,b=67;K(a,b);printf(“a=%d,b=%d\n”,a,b);}答案:a=67,b=106.#include <stdio.h>main(){int a[]={1,2,3,4,5,6}*p;p=a;*(p+3)+=2;printf(“%d,%d\n”,*p,*(p+3));}答案:1,67. #include <stdio.h>void f(){static int a[3]=[2,4,6];int i;for(i=0;i<3;i++)a[1]+=a[i];for (i=0;i<3;i++)printf(“%d,”,a[i]); printf(“\n”)}main(){f();f();}答案:4,8,128,16,248.#include <stdio.h> void f(){int a=5;static int b=6;a--;b--;printf(“a%d,b=%d\n”,a,b); }main(){f()f()}答案:a=4,b=5a=4,b=49.#include <stdio.h>func(int a,int b)main(){static int m=1,i=2;i+=m+1;m=i+a+b;return(m)}main(){int k=3,m=1,p;p=func(k,m);printf(“%d\n”,p);p=func(k,m);printf(“p=%d\n”,p);}答案:8,1710.#include <stdio.h>#include <string.h>main(){char pw[]=”1 2 3 4 5 6”, char c[10]={“1 2 3 4 5”};if(strcmp(pw,c)==0)printf(“sorry!\n”);elseprintf(“welcome!\n’);}答案:sorry!11.#include <stdio.h>#include <string.h>main(){int i,j=0,a=3;for(i=0;i<3;i++)do{if(j%2)break;a+=2;j++;}while(j<10);printf(“a=%d,j=%d\n",a,j); }答案:a=5,j=112.#include<stdio.h>main(){char a[20]=”china”,b[20];int i=0printf(“a strring:%s\n”,a);dob[i]=(a[i]>=’a’&&a[i]<=’z’)?a[i] -32:a[i];while(a[i++]!=’\0’);printf(“b strring=%s\n”,b);}a string:Chinab string:CHINA设计一个子函数,求两个正整数的最大公约数,从主函数输入两个正整数并输出main(){int m,n;printf("Please input two numbles."); scanf("%d,%d\n",&m,&n);printf("The max is %d\n",f_Max(m,n)); }解int f_Max(int x,int y){int z;z=x%y;while(z!=0){x=y;y=z;z=x%y;}return y;}最小公倍数int f_min(int x,int y){int z,t;t=y;z=x%y;while(z!=0) {x=y;y=z;z=x%y;}return (x*t/y); }。

相关文档
最新文档