c基础练习题及解答细节全解

合集下载

c语言初级考试题及答案

c语言初级考试题及答案

c语言初级考试题及答案1. 以下哪个选项是C语言中的关键字?A. intB. floatC. stringD. integer答案:A2. C语言中,用于定义一个整型变量的关键字是什么?A. varB. intC. integerD. float答案:B3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. =D. <=答案:A4. 在C语言中,如何定义一个名为“sum”的函数,该函数接收两个整型参数并返回它们的和?A. int sum(int a, int b) { return a + b; }B. int sum(int a, int b) { return a - b; }C. int sum(float a, float b) { return a + b; }D. float sum(int a, int b) { return a + b; }答案:A5. C语言中,以下哪个选项是正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. //* This is a single line commentD. /* This is a single line comment */答案:A6. 在C语言中,以下哪个选项是正确的字符串字面量表示方法?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World"D. 'Hello, World'答案:A7. 以下哪个选项是C语言中的正确数组声明?A. int numbers[5] = {1, 2, 3, 4, 5};B. int numbers[] = {1, 2, 3, 4, 5};C. int numbers[5] = {1, 2, 3};D. int numbers = {1, 2, 3, 4, 5};答案:A8. 在C语言中,以下哪个语句用于在循环中终止循环?A. break;B. continue;C. exit;D. return;答案:A9. C语言中,以下哪个函数用于将字符串连接到另一个字符串?A. strcatB. strcpyC. sprintfD. printf答案:A10. 在C语言中,以下哪个函数用于将一个整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:B。

c语言基础试题库及答案

c语言基础试题库及答案

c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。

答案:int2. 在C语言中,________关键字用于定义一个指针。

答案:*3. C语言中,________关键字用于定义一个函数。

答案:int4. 在C语言中,________运算符用于求两个数的和。

答案:+5. C语言中,________运算符用于判断两个数是否相等。

答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。

答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。

函数调用则是通过函数名和参数列表来调用已定义的函数。

2. 解释C语言中指针的概念及其用途。

答案:指针是一种变量,它存储了另一个变量的内存地址。

指针常用于动态内存分配、数组处理和函数参数传递。

四、编程题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", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。

程序设计基础(C语言)习题以及答案

程序设计基础(C语言)习题以及答案

其身正,不令而行;其身不正,虽令不从。

——《论语》一、选择题1.下列属于C语言中合法的标识符的是( B )A 、ex-1B 、-cookC 、951aD 、if2.若 x 为 float 型变量,则以下语句(A )。

x=213.82631;printf("%-4.2f\n",x);A、输出为213.83B、输出格式描述符的域宽不够,不能输出C、输出为213.82D、输出为-213.823.一个C程序的执行是从(C )A、main函数开始,直到最后一个函数结束B、第一个函数开始,直到最后一个函数结束C、main函数开始,直到main函数结束D、第一条语句开始,直到最后一条语句结4.构成C语言源程序的基本单位是(B )A、过程B、函数C、子程序D、命令5.以下叙述不正确的是(D )A、注释说明被计算机编译系统忽略B、注释说明必须跟在“//”之后不能换行或者括在“/*”和“*/”之间且注释符必须配对使用C、注释符“/”和“*”之间不能有空格D、在C程序中,注释说明只能位于一条语句的后面6.在C程序中,main函数的位置( A)A、可以任意B、必须作为最后一个函数C、必须作为第一个函数D、必须放在它所调用的函数之后7. C语言属于(C )A、机器语言B、汇编语言C、高级语言D、低级语言云路鹏程九万里,雪窗萤火二十年。

——《王实甫》人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。

——《顾炎武》8.使用“scanf("a=%d,b=%d",&a,&b)”,要使a,b的值均为25,正确的输入是(D )。

A、a=25 b=25(空格分开)B、25 25(空格分开)C、25,25D、a=25,b=259. 下列叙述中,不正确的是( C)A、分号是C语句的必要组成部分B、C语句的注释可以写在语句的后面C、主函数的名字不一定用main表示D、函数是C程序的基本单位10.C程序是由( B)构成的A、若干过程B、一个或多个函数C、若干子程序D、一个主程序与若干子程序11. 以下程序的输出结果是(B )。

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30D. 756. .以下程序的输出结果是( c )。

main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:cA.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。

c语言程序基础考试题及答案

c语言程序基础考试题及答案

c语言程序基础考试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义字符型变量的关键字是______。

A. intB. charC. floatD. double答案:B2. 下列关于C语言函数的描述,正确的是______。

A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型不能是结构体D. 函数可以没有返回值答案:B3. 在C语言中,以下哪个运算符用于计算两个数的和?A. %B. +C. &&D. ==答案:B4. 以下哪个选项是C语言中的合法整型常量?A. 0x1AB. 0.1C. 1.2e3D. 0123答案:A5. C语言中,以下哪个关键字用于声明一个函数?A. structB. intC. voidD. return答案:C6. 在C语言中,以下哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "helloD. 'hello'答案:A7. C语言中,以下哪个选项是正确的注释?A. // this is a commentB. /* this is a comment */C. // this is a commentD. /* this is a comment */答案:A8. C语言中,以下哪个选项是正确的二进制常量表示?A. 0b1010B. 0x2AC. 0101D. 0x10答案:A9. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[] = {1, 2};D. int arr[3] = {1};答案:A10. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。

c基础考试题及答案

c基础考试题及答案

c基础考试题及答案1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable-nameC. variable$nameD. variable_name答案:D2. 在C语言中,哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:C3. C语言中,用于定义一个整型变量的关键字是什么?A. intB. integerC. numberD. long答案:A4. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -D. /答案:A5. 若有以下C语言代码段:```cint a = 10;int b = 20;int c = a + b;```则变量c的值是多少?A. 10B. 20C. 30D. 40答案:C6. C语言中,哪个函数用于计算并返回一个字符串的长度?A. strlen()B. length()C. size()D. length_str()答案:A7. 在C语言中,以下哪个选项不是控制语句?A. ifB. switchC. while答案:B8. 在C语言中,以下哪个选项是正确的数组声明?A. int numbers[];B. int numbers[10];C. int numbers[10] = {1, 2, 3};D. All of the above答案:D9. C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. copystr()C. str_copy()D. string_copy()答案:A10. 若有以下C语言代码段:```cchar str[] = "Hello, World!";printf("%c", str[0]);```则输出结果是什么?A. HB. eC. lD. !答案:A。

C语言基础练习100题(含答案)

C语言基础练习100题(含答案)

C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是__________.A) '\t' B) "A" C) 65 D) A4、字符(char)型数据在微机内存中的存储形式是____.A) 反码B) 补码C) EBCDIC码D) ASCII码5、设int a=12,则执行完语句a+=a-=a*a后,a的值是________A) 552 B) 264 C) 144 D) -2646、执行下面程序中的输出语句后,输出结果是______.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 107、下面程序的输出是__________.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 248、下面程序的输出是___________.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值9、以下程序的输出结果是________.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是________.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_________.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a++的值是___.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是________.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是________.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下面程序的输出结果是_______.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是_________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________.A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._________A) 14 B) 15 C) 11 D) 12 20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是________.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是________.A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、执行下面程序后,运行结果是________.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=128、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是______.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是________.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!30、执行下列程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 431、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.A) Z B) a C) z D) A32、下面程序的输出结果是________.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 033、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是_______.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2034、下列程序的执行结果是_________.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,135、能够完成如下函数计算的程序段是______.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;36、以下程序的执行结果是________.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird37、以下程序的执行结果是________.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2538、下列程序执行后的输出结果是________.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息39、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}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=240、下面程序的输出结果是_________.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 041、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是_________.A) 4 B) 3 C) 2 D) 142、以下程序的输出结果是_________.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 143、若执行下面的程序从键盘上输入9,则输出结果是.______________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 844、以下程序段运行结果是________.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值45、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是________.A) 2,1 B) 3,2 C) 4,3 D) 2,-146、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,147、执行下列程序后的输出结果是_______.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 148、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)49、若运行下面程序时,给变量a输入15,则输出结果是______.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1050、执行下面程序的输出结果是________.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if52、以下程序段__________.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误53、对下面程序段描述正确的是_______.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次54、下面程序段的输出结果是_______.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息55、下面程序的运行结果是_______.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,956、下面程序段的运行结果是__________.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息57、下面程序段的运行结果是________.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2058、下面程序的运行结果是________.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 659、下面程序段的运行结果是________.for(x=10;x>3;x--){ if(x%3) x--;--x; --x;printf("%d ",x);}A) 6 3 B) 7 4 C) 6 2 D) 7 3 60、下面程序的运行结果是________.#include<stdio.h>void main( ){ int a,b;a=-1;b=0;do {++a;++a;b+=a;} while(a<9);printf("%d\n",b);}A) 34 B) 24 C) 26 D) 2561、下面程序段的运行结果是___________.for(i=1;i<=5;)printf("%d",i);i++;A) 12345 B) 1234 C) 15 D) 无限循环62、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int n=4;while (n--) printf("%d ",n--);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 063、以下程序运行后的输出结果是________.#include<stdio.h>void main(){ int i=10,j=0;do{ j=j+1; i--;}while(i>2);printf("%d\n",j);}A) 50 B) 52 C) 51 D) 864、有如下程序#include<stdio.h>void main(){ int x=23;do{ printf("%d",x--);}while(!x);}该程序的执行结果是_______A) 321 B) 23C) 不输出任何内容D) 陷入死循环65、以下程序段的执行结果是_______.int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);A) 12 B) 15 C) 20 D) 2566、下面程序的输出结果是___________.#include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*# B) ##### C) ***** D) *#*#*67、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6C) 10 9 9 0 D) 10 10 9 168、执行以下程序后,输出的结果是__________.#include<stdio.h>void main( ){ int y=10;do {y--;}while (--y);printf("%d\n",y--);}A) -1 B) 1C) 8D) 069、有如下程序#include<stdio.h>void main( ){ int n=9;while(n>6) {n--;printf("%d",n);}} 该程序段的输出结果是__________.A) 987 B) 876 C) 8765 D) 987670、有如下程序#include<stdio.h>void main( ){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum);}该程序的执行结果是___________.A) 6 B) 3 C) 死循环D) 071、以下循环体的执行次数是_______#include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2 C) 1 D) 072、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.#include <stdio.h>void main( ){ char ch;while ((ch=getchar( ))!='\n'){ if (ch>='A' && ch<='Z') ch=ch+32;else if (ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF73、下面程序的输出结果是__________.main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++){k++;if (k%2==0) {a=a+k; continue;}b=b+k;a=a+k;}printf("k=%d a=%d b=%d\n",k,a,b);}A) k=5 a=10 b=4 B) k=3 a=6 b=4C) k=4 a=10 b=3 D) k=4 a=10 b=474、执行下面程序段后,k的值是_________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A) 9 B) 11 C) 8 D) 1075、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。

c++基础练习题及解答细节全解

c++基础练习题及解答细节全解

“C++程序设计”实验一简单的C++程序1、编写简单的屏幕输出程序:[过程]①首先在资源管理器中,在用户盘(硬盘)创建自己的文件夹,例如可以以自己的学号为名建立文件夹。

②进入VisualC++开发环境,新建C++源文件,存放在上一步建立的文件夹中。

打开源文件编辑窗口,输入以下源代码:#include<iostream.h>voidmain(){cout<<“……”;//省略号处是想要输出到屏幕上的内容,可以随意编辑。

}③保存文件后单击“编译compile”按钮(快捷键Ctrl+F7),在出现的对话框中单击“是”。

④若没有错误,继续单击“连接build”按钮(快捷键F7)。

若没有错误则继续单击“执行execute”按钮(快捷键Ctrl+F5),查看程序运行结果。

#include<iostream.h>voidmain(){cout<<“Hello:-)\n”;//省略号处是想要输出到屏幕上的内容。

}2、将两个数交换后输出。

[分析]交换两个数,一般方法是用一个中间变量,经过几次赋值实现。

#include<iostream.h>voidmain(){double a,b,temp;cout<<"请输入任意两个数(以空格间隔输入):"; //此语句是显示输入提示cin>>a>>b; //此语句是将用户输入的两个数依次保存到a、b两个变量中cout<<"a="<<a<<""<<"b="<<b<<endl; //此语句是输出a、b两个变量的值temp=a; //此语句是将变量a的值赋给变量temp,“=”称为赋值号……; //完成省略号处的语句,将变量b的值赋给变量a……; //完成省略号处的语句,将变量temp的值赋给变量b……; //完成省略号处的语句,再次输出变量的值,观察其值是否交换了}#include<iostream.h>voidmain(){doublea,b,temp;cout<<"请输入任意两个数(以空格间隔输入):"; //此语句是显示输入提示cin>>a>>b; //此语句是将用户输入的两个数依次保存到a、b两个变量中cout<<"a="<<a<<""<<"b="<<b<<endl; //此语句是输出a、b两个变量的值temp=a; //此语句是将变量a的值赋给变量temp,“=”称为赋值号a=b; //完成省略号处的语句,将变量b的值赋给变量ab=temp; //完成省略号处的语句,将变量temp的值赋给变量bcout<<"a="<<a<<""<<"b="<<b<<“\n”;//完成省略号处的语句,再次输出变量的值,观察其值是否交换了}3.使用cout对象,在输出窗口上显示如下的图形:提示:在C++的字符常量中,一个反斜线字符是‘\\’。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
coutvv"请输入一个字符:";
cin> >zifu;
#i nclude<iostream.h>
void mai n()
{
cout« Hello :-) \n/;//省略号处是想要输出到屏幕上的内容。
}
2、将两个数交换后输出。
[分析]交换两个数,一般方法是用一个中间变量,经过几次赋值实现。
#in clude <iostream.h>
void mai n()
……;//定义一个字符型变量b b =‘a'; //给变量b赋值为字符‘a';//将变量b的值赋给变量a cout« a=”v<a<vendl;〃输出变量a的值……;〃输出变量b的值
}
#include<iostream.h> void main()
{int a;//定义一个整型变量a
char b;//定义一个字符型变量b
{
double a, b, temp;
cout<<"请输入任意两个数(以空格间隔输入):”;//此语句是显示输入提示
cin>>a>>b;//此语句是将用户输入的两个数依次保存到a、b两个变量中
cout<<"a="<<a<<""<<"b="<<b<<endl; //此语句是输出a、b两个变量的值
temp=a; //此语句是将变量a的值赋给变量temp,"=/称为赋值号
b=temp;//完成省略号处的语句,将变量temp的值赋给变量b
cout<<"a="<<a<<""<<"b="<<b<<“\n”;//完成省略号处的语句,再次输出变量的值,
观察其值是否交换了
}
3.使用cout对象,在输出窗口上显示如下的图形:
提示:在C++的字符常量中,一个反斜线字符是‘'
#include <iostream.h>
b='a';//给变量b赋值
a=b;//将变量b的值赋给变量a
cout<< "a="<<a<<endl;//输出变量a的值cout<< "b="<<b<<endl;//输出变量b的值
}
实验二
提示:每题建立一个C++源文件。当完成一个题目后,使用菜单“文件”一〉“关闭工作区”,再新建C++源文
件做下一个题目。
cin>>a>>b;//此语句是将用户输入的两个数依次保存到a、b两个变量中
cout<<"a="<<a<<" "<<"b="<<b<<endl;//此语句是输出a、b两个变量的值
temp = a; //此语句是将变量a的值赋给变量temp,=”称为赋值号a=b;//完成省略号处的语句,将变量b的值赋给变量a
……;//完成省略号处的语句,将变量b的值赋给变量a
;//完成省略号处的语句,将变量temp的值赋给变量b
……;//完成省略号处的语句,再次输出变量的值,观察其值是否交换了
}
#in clude<iostream.h>
void mai n()
{
double a, b, temp;
cout<<"请输入任意两个数(以空格间隔输入):";//此语句是显示输入提示
“C++程序设计”实验一简单的C++程序
1、编写简单的屏幕输出程序:
[过程]
1首先在资源管理器中,在用户盘(硬盘)创建自己的文件夹,例如可以以自己的学号为名建 立文件夹。
2进入Visual C++开发环境,新建C++源文件,存放在上一步建立的文件夹中。打开源文件编 辑窗口,输入以下源代码:
#i nclude<iostream.h>
例如:输入1 1 1
#in clude<iostream.h>
void mai n()
{
int x_int;
double y_double;
char m_char;
bool n _bool;
coutvv"请输入一个整数、一个实数和一个字符:";
cin»x_in t»y_double»m_char;
n_ bool=m_char>x_i nt;
cout<<x_i nt<v7'vvy_double<v'=' <<x_in t/y_double<<e ndl;
coutvvy_doublevv'-'v<m_charvv'='vvy_double-m_charvve ndl;
cout< <"n _bool="<<n _bool<<e ndl;
}一 一
void mai n()
{
coutvv“……”//;3保存文件后单击“编译compile/按钮珪'(快捷键Ctrl+F7),在出现的对话框中单击“是/
I
4若没有错误,继续单击“连接build/按钮(快捷键F7)。若没有错误则继续单击“执
行execute’按钮审(快捷键Ctrl+F5),查看程序运行结果。
void main()
{
cout<<"\t/***\\"<<endl;
cout<<" /*"<<endl;
cout<<" /*\t\t X\t X"<<endl;
cout<<" |*\t\t X\t X"<<endl;
cout<<" |*\t XXXXXXX XXXXXXX"<<endl;
cout<<" |*\t\t X\t X"<<endl;
1.在程序中定义整型变量x_int、双精度实数型变量y_double、字符型变量m_char和布尔型 变量n_bool,并请用户输入x_int、y_double和m_char三个变量的值,之后给变量n_bool赋值 为(m_char>x_int),输出并观察(x_int/y_double)、(y_double-m_char)以及n_bool的值,理解这些输出的含义。
cout<<" \\*\t\t X\t X"<<endl;
cout<<" \\*"<<endl;
cout<<"\t\\***/"<<endl;}
4.根据注释补充下面的程序中省略号处的语句,运行程序,并理解其语句及输出的含义:#include<iostream.h>
void main()
{……;//定义一个整型变量a
2•输出一个字符(这个字符可以是在程序开始赋值,或由用户输入)的前驱字符(ASCII编 码表上该字符前面的字符)、后继字符(ASCII编码表上该字符后面的字符)及其ASCII码值。
#i nclude<iostream.h>
void mai n()
{
char qia nqu, zifu, houji;
相关文档
最新文档