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

阅读程序题以下程序的输出结果是 .. mainD{ float a;printf"%g";a;}A +00BCD 0下面程序的输出结果是B____..include <>main{ int x=10;{ int x=20;printf "%d;"; x;printf"%d\n"; x;}A 10;20B 20;10C 10;10D 20;20以下程序的输出结果是___B_.. main{ unsigned int n;int i=-521;n=i;printf"n=%u\n";n;}s";s;}A a bookB a book<四个空格C a boD 格式描述错误;输出不确定下面程序的输出结果是____..main{ int a;b;scanf"%2d%3d";&a;&b;printf"a=%d b=%d\n";a;b;}A a=12 b=34B a=123 b=45C a=12 b=345D 语句右错误以下程序段的输出结果是 .. int a=10;b=50;c=30;ifa>ba=b;b=c;c=a;printf"a=%d b=%d c=%d\n";a;b;c;A a=10 b=50 c=10B a=10 b=30 c=10C a=50 b=30 c=10D a=50 b=30 c=50以下程序的输出结果是 .. main{ int a=0;b=1;c=0;d=20;ifa d=d-10;else ifbifc d=15;else d=25;printf"d=%d\n";d;}A d=10B d=15C d=20D d=25下面程序的输出结果为 ..main{ int a=1;b=0;switcha{ case 1: switch b{ case 0: printf"0"; break;case 1: printf"1"; break;}case 2: printf"2"; break;}}A 0B 02C 012D 有语法错误以下程序的输出结果是 .. mainint v1=0;v2=0;v3=0;v4=0;k;fork=0;sk;k++switchsk{ case '1': v1++;case '3': v3++;case '2': v2++;default: v4++;}printf"v1=%d; v2=%d; v3=%d; v4=%d\n";v1;v2;v3;v4;}A v1=4;v2=2;v3=1;v4=1B v1=4;v2=9;v3=3;v4=1C v1=5;v2=8;v3=6;v4=1D v1=4;v2=7;v3=5;v4=8下面程序的输出是 ..main{ int x=1;y=0;a=0;b=0;switchx{ case 1: switchy{ case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;}printf"a=%d;b=%d\n";a;b;}A a=2;b=1B a=1;b=1C a=1;b=0D a=2;b=2下面程序的输出是____..main{ int num=0;whilenum<=2{ num++;printf"%d\n";num;}}A 1B 1C 1D 12 2 23 34下面程序的输出结果是____.. main{ int a=1;b=0;do{ switcha{ case 1: b=1;break;case 2: b=2;break;default : b=0;}b=a+b;}whileb;printf"a=%d;b=%d";a;b;}A 1;2B 2;1C 1;1D 2;2从键盘上输入"446755"时;下面程序的输出是____.. include <>main{ int c;whilec=getchar='\n'switchc -'2'{ case 0:case 1: putcharc+4;case 2: putcharc+4;break;case 3: putcharc+3;default: putcharc+2;break;}printf"\n";}下面程序的输出结果是____.. main{ int k=0;char c='A';do{ switchc++{ 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++;}whilec<'C' ;printf"k=%d\n";k;}A k=1B k=2C k=3D k=4下面程序的输出结果是____.. main{ int x;i;{ x=i;if++x%2==0if++x%3==0if++x%7==0printf"%d ";x;}}A 39 81B 42 84C 26 68D 28 70下面程序的输出结果是____.. include <>main{ int i;k;a10;p3;k=5;ai=i;fori=0;i<3;i++pi=aii+1;fori=0;i<3;i++k+=pi2;printf"%d\n";k;}A 20B 21C 22D 23假定从键盘上输入";<回车>";下面程序的输出是____.. include <>main{ float x;y;z;scanf"%f;%f";&x;&y;z=x/y;while1{ iffabsz>{ x=y;y=z;z=x/y;}else break;}printf"%f\n";y;}A B C D下面程序的输出结果是____.. main{ int i;j;x=0;fori=0;i<2;i++{ x++;forj=0;j<-3;j++{ ifj%2continue;x++;}x++;}printf"x=%d\n";x;}A x=4B x=8C x=6D x=12下面程序的输出结果是____..main{ int i;j;k=10;fori=0;i<2;i++{ k++;{ int k=0;forj=0;j<=3;j++{ ifj%2 continue;k++;}}k++;}printf"k=%d\n";k;}A k=4B k=8C k=14D k=18下面程序的输出结果是____.. include <>main{ int n33; i; j;fori=0;i<3;i++forj=0;j<3;j++nij=i+j;fori=0;i<2;i++forj=0;j<2;j++ni+1j+1+=nij;printf"%d\n"; nij;}A 14B 0C 6D 不确定下面程序的输出结果是____..include <>main{ int a45={1;2;4;-4;5;-9;3;6;-3;2;7;8;4};int i;j;n;n=9;i=n/5;j=n-i5-1;printf"a%d%d=%d\n"; i;j;aij;}A 6B -3C 2D 不确定下面程序的输出结果是____..int m33={ {1}; {2}; {3} };int n33={ 1; 2; 3 };main{ printf"%d\n"; m10+n00 ; / ① / printf"%d\n"; m01+n10 ; / ② /}① A 0 B 1 C 2 D 3② A 0 B 1 C 2 D 3下面程序的输出结果是____..include <>main{ char s150={"some string "};s2={"test"};printf"%s\n"; strcats1;s2;}A some stringB testC some stritestD some string test下面程序的输出结果是____.. include <>fchar s{ char p=s;whilep='\0'p++;returnp-s;}main{ printf"%d\n";f"ABCDEF";}A 3B 6C 8D 0下面程序的输出结果是____..include <>include <>main{ char str100 ="How do you do";strcpy str + strlenstr/2; "es she";printf"%s\n"; str;}A How do you doB es sheC How are youD How does she下面程序的输出结果是____..include <>funcint a;int b{ int c;c=a+b;returnc;main{ int x=6;y=7;z=8;r;r=funcx--;y++;x+y;z--;printf"%d\n";r;}A 11B 20C 21D 31下面程序的输出结果是____.. include <>void funint s{ static int j=0;do{ sj+=sj+1;}while++j<2;main{ int k;a10={1;2;3;4;5};fork=1;k<3;k++funa;fork=0;k<5;k++printf"%d";ak;}A 35756B 23445C 35745D 12345下面程序的输出结果是____.. include <>int k=1;main{ int i=4;funi;printf "\n%d;%d";i;k; / ① /}funint m{ m+=k;k+=m;{ char k='B';printf"\n%d";k-'A'; / ② /}printf"\n%d;%d";m;k; / ③ /}① A 4;1 B 5;6 C 4;6 D A;B;C参考答案都不对② A 1 B -59 C -64 D A;B;C参考答案都不对③ A 5;66 B 1;66 C 5;6 D A;B;C参考答案都不对下面程序的输出结果是____..include <>funint n; int s { int f1; f2;ifn==1||n==2s=1;else{ funn-1; &f1;funn-2; &f2;s=f1+f2;}}main{ int x;fun6; &x;printf"%d\n"; x;}A 6B 7C 8D 9下面程序的输出结果是____.. int w=3;main{ int w=10;printf"%d\n";fun5w;}funint k{ ifk==0 returnw;returnfunk-1k;}A 360B 3600C 1080D 1200下面程序的输出结果是____.. include <>funaint a{ int b=0;static int c=3;a=c++;b++;returna;}main{ int a=2;i;k;fori=0;i<2;i++k=funaa++;printf"%d\n";k;}A 3B 0C 5D 4下面程序的输出结果是____.. include <>void num{ extern int x;y;int a=15;b=10;x=a-b;y=a+b;}int x;y;main{ int a=7;b=5;x=a-b;y=a+b;num;printf"%d;%d\n";x;y;}A 12;2B 5;25C 1;12D 输出不确定下面程序的输出结果是____..main{ int a=2;i;fori=0;i<3;i++printf"%4d";fa;}fint a{ int b=0;static int c=3;b++;c++;returna+b+c;}A 7 7 7B 7 10 13C 7 9 11D 7 8 9下面程序的输出结果是____.. include <>try{ static int x=3;x++;returnx;}main{ int i; x;fori=0; i<=2; i++x=try ;printf"%d\n"; x;}A 3B 4C 5D 6下面程序的输出结果是____.. include <>main{ int x=1;void f1 ; f2 ;f1 ;f2x;printf"%d\n"; x;}void f1void{ int x=3;printf"%d "; x;void f2 xint x;{ printf"%d "; ++x;}A 1 1 1B 2 2 2C 3 3 3D 3 2 1下面程序的输出结果是____.. include <>define SUBX;Y XYmain{ int a=3;b=4;printf"%d\n";SUBa++;b++;}A 12B 15C 16D 20下面程序的输出结果是____..main{ int a={1;2;3;4;5;6};int p;p=a;printf"%d ";p;printf"%d ";++p;printf"%d ";++p;printf"%d ";p--;p+=3;printf"%d %d ";p;a+3;}A 1 2 3 3 5 4B 1 2 3 4 5 6C 1 2 2 3 4 5D 1 2 3 4 4 5下面程序的输出结果是____..main{ int a34={1;2;3;4;5;6;7;8;9;10;11;12};int p=a;p+=6;printf"%d ";p; / ① /printf"%d ";a+6; / ② /printf"%d ";a1+=2; / ③ /printf"%d";&a00+6;/ ④ /}A 7 7 7 7B ②句语法错误C ③句语法错误D ④句语法错误下面程序的输出结果是____..define FMT "%X\n"include <>{ static int a 4 = { 1;2;3;4;5;6;7;8;9;10;11;12 };printf FMT; a22; / ① /printf FMT; a+1+1 ; / ② /}① A 9 B 11 C A D B② A 6 B 7 C 8 D 前面三个参考答案均是错误的下面程序的输出结果是____..include <>main{ int a={1; 2; 3; 4; 5} ;int x; y; p;p=&a0;x=p+2;printf"%d;%d;%d\n"; p; x; y;}A 1;3;5B 1;2;3C 1;2;4D 1;4;5下面程序的输出结果是____.. void ivex;nint x;n;{ int t;p;p=x+n-1;whilex<p{ t=x;x++=p;p--=t;}}main{ int i;a={1;2;3;4;5;6;7;8;9;0};ivea;10;fori=0;i<10;i++printf"%d ";ai;printf"\n";}A 1 2 3 4 5 6 7 8 9 0B 0 9 8 7 6 5 4 3 2 1C 1 3 5 7 9 2 4 6 8 0D 0 8 6 4 2 9 7 5 3 1下面程序的输出结果是____..include ""funchar w;int n{ char t;s1;s2;s1=w;s2=w+n-1;whiles1<s2{ t=s1++;s1=s2--;s2=t;}}main{ static char p="1234567";funp;strlenp;printf"%s";p;}A 7654321B 1717171C 7171717D 1711717下面程序的输出结果是____.. include <>char p = "abcdefghijklmnopq" ;main{ int i=0;while p++='e' ;printf"%c\n"; p;}A cB dC eD f下面程序的输出结果是____.. include <>fint x; int y{ return y-x;}main{ int a=5; b=6; c;int f; g=f;printf"%d\n"; ga;b ;}A 1B 2C 3D 前面三个参考答案均是错误的下面程序的输出结果是____..include <>main{ int a=1;p;pp;pp=&p;p=&a;a++;printf "%d;%d;%d\n"; a;p; pp;}A 2;1;1B 2;1;2C 2;2;2D 程序有错误下面程序的输出结果是____..main{ char alpha7={"ABCD";"EFGH";"IJKL";"MNOP";"QRST";"UVWX";"YZ"};char p;int i;p=alpha;fori=0;i<4;i++printf"%c";pi;printf"\n";}A AEIMB BFJNC ABCD D DHLP下面程序的输出结果是____..include <>char pp23={ "abc"; "defgh"; "ijkl"; "mnopqr"; "stuvw"; "xyz"};main{ printf"%c\n";pp+1; / ① /printf"%c\n";pp0; / ② /printf"%c\n";pp+1+14; / ③ /printf"%c\n";pp12+2; / ④ /printf"%s\n";pp+1; / ⑤ /}① A a B d C i D m② A a B d C i D m③ A h B l C q D w④ A k B o C u D z⑤ A ijkl B mnopqr C stuvw D xyz下面程序的输出结果是____..include ""struct str1{ char c5;char s;};main{ struct str1 s12={ {"ABCD""EFGH"};{"IJK";"LMN"} };struct str2{ struct str1 sr;int d;}s2={"OPQ";"RST";32767};struct str1 p2;p0=&s10;p1=&s11;printf"%s";++p1->s; / ① /printf"%c"② /}① A LMN B MN C N D IJK② A O B P C Q D R以下程序的输出结果是____..struct st{ int x;y;}p;int s={10;20;30;40};struct st a={1;&s0;2;&s1;3;&s2;4;&s3}; main{ p=a;printf"%d\n";++++p->y;}A 10B 11C 20D 21以下程序的输出结果是____.. include <>main{ union EXAMPLE{ struct{ int x;y;}in;int a;b;}e;=1;=2;}A 2;3B 4;4C 4;8D 8;8下面程序的输出结果是____.. include <>main{ union{ int i2;long k;char c4;}r;s=&r;s->i0=0x39;s->i1=0x38;printf"%c\n";s->c0;}A 39B 9C 38D 8下面程序的输出是 ..main{ printf"%d\n"; EOF;}A -1B 0C 1D 程序是错误的参考答案参考答案:D注释:程序中除法运算的两个操作数均是整型;运算结果也是整型..参考答案:B注释:C语言允许在程序块分程序中说明变量..参考答案:C注释:变量i中的负号传送给变量n后;因n是无符号数;已不作为负号处理..参考答案:D注释:对变量x的――操作是后缀形式;变量x的减1操作要在执行完printf函数之后才进行;所以变量x的值在输出的时候仍然保持原值10..参考答案:B注释:C语言在执行printf时;对函数中的表达式表列的处理顺序是从后向前;即先处理n- -;再处理n++;最后处理n;而且每一个表达式作为一个处理单元;也就是说在不同的表达式中自增自减运算是单独考虑的..参考答案:A注释:变量x和变量y做按位与;结果为0x0200;右移4位为0x0020;再与0x005f做按位或;最后结果为0x007f..参考答案:A注释:逗号表达式的结果是用逗号分开的最后一个表达式的值;此题由于 c=='A'的值是0;所以逗号表达式的值为0..参考答案: B参考答案: A参考答案: C注释:在输出格式描述"%"中;m是输出总长度;n是实际字符的个数;这里m没有给出;则输出总长度就是实际输出字符的个数..参考答案: C参考答案:B参考答案:C参考答案:B参考答案:D参考答案:A参考答案: C参考答案:A参考答案: C注释:在switch语句中;case本身仅起到语句标号的作用;不会改变语句的流程;执行break语句才能退出当前的switch语句..参考答案: D注释:siwtch语句的表达式中;变量c是后缀的增一运算;第一次执行do-while循环时;执行case 'A'后面的语句..参考答案: D参考答案: B参考答案: B注释:fabs是浮点数绝对值函数..参考答案: A参考答案: C注释:C语言允许在程序块分程序内说明变量;如果在程序块内说明的变量和程序块外的变量同名;在块外说明的变量在块内是不可见的..可将此题和进行比较;加深理解..参考答案: C参考答案: B参考答案:① D ② A参考答案:D参考答案: 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语言程序设计考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言可以用于系统程序设计答案:B2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项不是C语言中合法的变量名?()A. _intB. 2ndC. intD. var_name答案:C4. C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. &&C. |D. ||答案:A5. 在C语言中,下列哪个选项是正确的字符串声明?()A. char str[] = "Hello, World!";B. char str[10] = "Hello, World!";C. char str[] = {"Hello, World!"};D. char str[20] = "Hello, World!";答案:A6. 下列哪个函数用于将浮点数转换为字符串?()A. sprintfB. atoiC. itoaD. atof答案:A7. C语言中,用于定义一个指针变量的关键字是()。
A. intB. floatC. charD. void答案:C8. 在C语言中,下列哪个选项不是合法的数组声明?()A. int arr[5];B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2, 3};D. int *arr = {1, 2, 3};答案:D9. 下列关于C语言函数的描述中,正确的是()。
A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以没有参数D. 所有选项都正确答案:D10. 在C语言中,用于控制程序流程的关键字是()。
c语言程序设计考试题库及答案

c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2.2 C语言中,用于输入数据的库函数是______。
答案:scanf2.3 C语言中,用于输出数据的库函数是______。
答案:printf3. 简答题3.1 简述C语言中数组的定义方式。
答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。
例如,定义一个整型数组可以写作:int arrayName[arraySize];。
3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。
答案:指针是一种变量,它存储的是另一个变量的内存地址。
定义指针的示例:int *ptr; 这里ptr是一个整型指针。
4. 编程题4.1 编写一个C语言程序,计算并输出100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```4.2 编写一个C语言函数,实现字符串反转的功能。
答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。
C语言程序设计试题集及其答案[修改版]
![C语言程序设计试题集及其答案[修改版]](https://img.taocdn.com/s3/m/959f0c1f4afe04a1b171dec2.png)
第一篇: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语言程序中一条简单语句是以________字符作为结束符的。
C语言阅读理解试题和参考答案

C语言阅读理解试题和参考答案MOOC研究资料
C语言阅读理解试题和参考答案
(二〇一五年三月二日)阅读理解,有C程序代码如下(为描述方便,每一行前加了行号)(1)#include <XXX> (2)void main(void)
(3){
(4)int x,y =0;
(5)scanf("%d",&x);
(6)while (x>0)
(7){
(8)y=y*10+x %10;
(9)x = x/10;
(10)}
(11)printf("y=%d",y);
(12)}
阅读上述程序,回答问题:
(1)第1行的功能是什么?
(2)在第2行中,main函数前面为什么有void?(3)说明第4行的功能。
(4)设输入整数127,写出履行该程序的运行结果。
(5)申明该程序的功能。
1
MOOC研究资料答:
(1)是指将XXX这个头文件包罗进来(2)前面加的void或int透露表现main函数的返回值,也即程序退出后的返回值。
void透露表现没有返回值,int透露表现返回一个整型数据。
c语言程序阅读题目(带解释).doc
}
void copy_string(char *from,char *to)
{ for(;*from!='\0';from++,to++)
*to=*from;
*to='\0';
}
5.下面程序的运行的功能是BASIC
{
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
#include<stdlib.h>
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));
}
15.输入87653142,下面程序运行的结果是7531
#include<stdio.h>(取出数字中的奇数并组成新的数字)
c语言程序设计试题及答案解析
c语言程序设计试题及答案解析C语言程序设计试题及答案解析一、选择题1. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C2. C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C二、填空题1. 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2. 若有以下C语言代码段:```cint a = 5, b = 10;printf("%d", a + b);```执行后输出的结果是______。
答案:15三、简答题1. 简述C语言中数组的定义和初始化方式。
答案:在C语言中,数组是一种基本的数据结构,用于存储具有相同类型的多个元素。
数组的定义方式为:类型名数组名[数组大小];初始化方式可以是静态初始化,即在定义时直接赋值,如:int arr[5] = {1, 2, 3, 4, 5}; 或者动态初始化,即在定义后使用循环或赋值语句逐一赋值。
四、编程题1. 编写一个C语言程序,实现求一个整数的阶乘。
```c#include <stdio.h>int factorial(int n) {if (n == 0)return 1;elsereturn n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num));return 0;}```五、分析题1. 请分析以下C语言代码段的运行结果,并解释原因。
```c#include <stdio.h>int main() {int x = 10;printf("%d", x++);return 0;}```答案:代码段的运行结果是10。
c程序设计题库及详解答案
c程序设计题库及详解答案在C语言的学习过程中,掌握各类编程题目并理解其解答是至关重要的。
以下是一些常见的C程序设计题库及对应的详解答案。
1. 求两个数的最大公约数使用辗转相除法(欧几里得算法)可以求得两个数的最大公约数。
以下是求解的C程序代码:```c#include <stdio.h>int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;}int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("最大公约数是:%d\n", gcd(num1, num2));return 0;}```2. 计算一个数的阶乘阶乘是一个数与所有小于它的正整数的乘积。
以下是计算阶乘的C 程序代码:```c#include <stdio.h>long long factorial(int n) {if (n == 0)return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d 的阶乘是:%lld\n", num, factorial(num)); return 0;}```3. 判断一个数是否为素数素数是指只能被1和其本身整除的大于1的自然数。
以下是判断素数的C程序代码:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1)return 0;for (int i = 2; i <= sqrt(n); i++) {if (n % i == 0)return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num))printf("%d 是素数。
《c语言程序设计》试题库及答案
《c语言程序设计》试题库及答案一、选择题1. 下列哪个选项是C语言的标准库函数?A. printfB. scanfC. mainD. All of the above答案:D2. C语言中,用于定义字符串的字符数组的语法是什么?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A3. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. functionC. defD. void答案:A二、填空题1. 在C语言中,定义一个整型变量的正确方式是:________。
答案:int variable_name;2. C语言中,用于计算两个数的和的运算符是:______。
答案:+3. 如果要在C语言中声明一个指向整型的指针,应该使用:________。
答案:int *pointer_name;三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一组相同类型的元素的集合,可以通过索引访问每个元素。
指针是一个变量,它存储了另一个变量的内存地址。
数组名可以被用作指向数组首元素的指针,但数组本身是一个固定大小的实体,而指针可以被重新赋值为其他地址。
2. 解释C语言中的结构体(struct)是什么?答案:结构体是一种用户定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。
它使得可以创建包含多种数据类型的复杂数据结构。
四、编程题1. 编写一个C语言程序,实现计算两个整数的和,并输出结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现将一个字符串反转,并输出结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
阅读程序题导读:学会阅读程序对于初学者来说很重要,一方面可以巩固所学的语法知识,另一方面通过阅读别人写好的程序来打开自己的思路,就所谓见多识广。
读者通过阅读理解程序,从给出的四个备选参考答案中,选择程序的正确输出。
如果选择有误,就要认真分析原因,是概念方面的错误还是对程序逻辑理解不对,从而加深对语法规则的理解,提高程序设计能力。
程序设计语言是开发程序的一个工具,学习语言的目的是为了编写程序来解决实际问题,所以特别提倡通过实际上机来检验备选答案,增强动手能力。
习题基本上是按照教材的章节来安排的,读者可以根据学习的进度选择部分习题。
【2.1】以下程序的输出结果是。
main( ){ float a;a=1/100000000;printf("%g",a);}A) 0.00000e+00 B) 0.0 C) 1.00000e-07 D) 0【2.2】下面程序的输出结果是____。
#include <stdio.h>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】以下程序的输出结果是____。
main(){ unsigned int n;int i=-521;n=i;printf("n=%u\n",n);}A) n=-521 B) n=521 C) n=65015 D) n=102170103【2.4】以下程序的输出结果是。
main( ){ 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】以下程序的输出结果是____。
main(){ int n=1;printf("%d %d %d\n",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】下面程序的输出结果是____。
main(){ int a=1,i=a+1;do{ a++ ;}while( !~i++ > 3);printf("%d\n",a);}A) 1 B) 2 C) 3 D) 4【2.9】下面程序的输出结果是____。
main(){ int a=111;a=a^00;printf("%d,%o\n",a,a);}A) 111,157 B) 0,0 C) 20,24 D) 7,7【2.10】下面程序的输出结果是____。
main(){ char s[12]= "a book";printf("%.4s",s);}A) a book! B) a book!<四个空格》C) a bo D) 格式描述错误,输出不确定【2.11】下面程序的输出结果是____。
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) 语句右错误【2.12】以下程序段的输出结果是。
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=10C) a=50 b=30 c=10 D) a=50 b=30 c=50【2.13】以下程序的输出结果是。
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【2.14】下面程序的输出结果为。
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**");break;}}A) **0** B) **0****2** C) **0****1****2** D) 有语法错误【2.15】以下程序的输出结果是。
main(){ char *s="12134211";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("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=1C) v1=5,v2=8,v3=6,v4=1 D) v1=4,v2=7,v3=5,v4=8【2.16】下面程序的输出是。
main(){ int x=1,y=0,a=0,b=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\n",a,b);}A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2【2.17】下面程序的输出是____。
main(){ int num=0;while(num<=2){ num++;printf("%d\n",num);}}A) 1 B) 1 C) 1 D) 12 2 23 34【2.18】下面程序的输出结果是____。
main(){ int a=1,b=0;{ switch(a){ case 1: b=1;break;case 2: b=2;break;default : b=0;}b=a+b;}while(!b);printf("a=%d,b=%d",a,b);}A) 1,2 B) 2,1 C) 1,1 D) 2,2【2.19】从键盘上输入"446755"时,下面程序的输出是____。
#include <stdio.h>main(){ int c;while((c=getchar())!='\n')switch(c -'2'){ case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);default: putchar(c+2);break;}printf("\n");}A) 888988 B) 668966 C) 88898787 D) 66898787【2.20】下面程序的输出结果是____。
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【2.21】下面程序的输出结果是____。
main(){ int x,i;for(i=1;i<=100;i++){ x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d ",x);}}A) 39 81 B) 42 84 C) 26 68 D) 28 70【2.22】下面程序的输出结果是____。
#include <stdio.h>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++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);}A) 20 B) 21 C) 22 D) 23【2.23】假定从键盘上输入"3.6,2.4<回车>",下面程序的输出是____。
#include <math.h>main(){ float x,y,z;scanf("%f,%f",&x,&y);z=x/y;while(1){ if(fabs(z)>1.0){ x=y;y=z;z=x/y;}else break;}printf("%f\n",y);}A) 1.500000 B) 1.600000 C) 2.000000 D) 2.400000【2.24】下面程序的输出结果是____。