第1章C语言程序设计概述1.1一个C程序的执行是从 A 。
A.从main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束1.2在C程序中,main()的位置 C 。
A.必须作为第一个函数B.必须作为最后一个函数C.可以任意D.必须放在它所调用的函数之后1.3C语言源程序的基本单位是 B 。
A.过程 B.函数 C.子程序 D.标识符1.4一个C源程序有且仅有一个一个函数和__零个或多个_____个其他函数。
1.5C语言源程序的语句分隔符是__分号___。
1.6C语言开发的四个步骤是_编辑源程序→对源程序进行编译→与库函数连接→运行目标程序__ 。
1.7C语言有哪些主要特点?C主要特点有:1.C语言简洁、紧凑,使用方便、灵活;2.运算符丰富;3.数据类型丰富;4.C语言是结构化语言;5.语法限制不太严格,程序设计自由度大;6.可直接与机器硬件打交道,直接访问内存地址;7.生成的目标代码质量高,程序执行效率高;8.C语言适用范围广,可移植性好。
1.8简述C编译和运行的基本方法。
略。
1.9常用的集成开发工具有哪些?各有什么特点?略。
1.10编写一个程序,在屏幕上输出以下内容:**************************** You are welcome! ****************************#include<stdio.h>void main( ) /*主函数 */{ /*函数体开始*/printf ("***************************\n"); /*输出语句*/printf ("* You are welcome! *\n");printf ("***************************\n");}1.11 编写一个C程序,输入a、b、c 3个值,输出其中最大者。
#include<stdio.h>void main( ) /* 主函数*/{float max(float x,float y); /* 对被调用函数max的声明 */float a,b,c,d,result; /*声明实型变量a、b、c */printf("a,b,c="); /*输出提示信息a,b,c= */scanf("%f%f%f",&a,&b,&c); /*输入变量a,b和c的值*/d=max(a,b); /*调用max函数,将得到的返回值赋给d */result=max(c,d); /*调用max函数,将得到的返回值赋给result */ printf("max=%f\n",result); /*输出result的值*/}float max(float x,float y) /* 定义max函数,函数值为实型,形式参数x,y为实型*/ {float z; /* max函数中的声明部分,声明本函数中用到的变量z为实型*/if(x>y)z=x; /*如果x>y ,则将x 值赋给z */elsez=y; /*否则将y 值赋给z */return (z); /*将z的值返回给主调用函数*/}第2章数据类型,运算符和表达式2.1以下标识符中不属于C语言的基本数据类型的是 C 。
A.charB.longC.boolD.float2.2以下选项中属于C语言的数据类型是 C 。
A.复数型B.逻辑型C.双精度型D.集合型2.3下列标识符中,合法的标识符是 C 。
A.-abc1B.1abcC._abc1D.for2.4在标准C语言中,不正确的int类型的常数是 A 。
A.32768B.0C.037D.0xAF2.5以下所列的C语言常量中,错误的是 B 。
A.0xFFB.1.2e0.5C.2LD.'\72'2.6在C语言中,合法的长整型常数是 B 。
A.0LB.C.&D.216D2.7以下不正确的语句(设有int p,q)是 D 。
A.p*=3; B.p/=q; C.p+=3; D.p&&=q;2.8以下使i的运算结果为4的表达式是 D 。
A.int i=0,j=0; (i=3,(j++)+i); B. int i=1,j=0; j=i=((i=3)*2);C. int i=0,j=1; (j==1)? (i=1): (i=3);D. int i=1,j=1; i+=j+=2;2.9设n=10,i=4,则赋值运算n%=i+1执行后,n的值是 A 。
A.0B.3C.2D.12.10逗号表达式(a=3*5,a*4),a+15的值为 C ,a的值是 C 。
①A.15 B.60 C.30 D.不确定②A.60 B.30 C.15 D.902.10如果a=1,b=2,c=3,d=4,则条件表达式a>b?a:c>d?c:d的值为 D 。
A.1B.2C.3D.42.12 在C语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。
设一表达式中包含有int,long,unsigned和char类型的变量和数据,则表达式最后的运算结果是D 类型的数据。
这四种类型数据的转换规律是 C 。
①A.int B.char C.unsigned D.long②A.int->unsigned->long->charB.char->int->long->unsignedC.char->int->unsigned->longD.char->unsigned->long->int2.13 写出经过下列运算后变量a的值,设a的初值为15:(1) a+=a; (2) a-=2;(3) a*=2+3; (4) a/=a+a;(5) a%=(5%=2) (6) a+=a-=a*=a(1) 30 (2) 13 (3) 75 (4) 0 (5) 0 (6) 02.14 假定x=10,y=20,z=30;试判断下列逻辑表达式的真(1)假(0)。
(1) x<10||x>10 (2) (x<y+z)&&(x+10<=20)(3) x<10 && x>10 (4) x>y || y>x(5) !(x<y+z)||!(x+10<=20) (6) (!(x==y))&&(x!=y)&&(x<y||y<x)(1) 0 (2) 1 (3) 0 (4) 1 (5) 0 (6) 12.15 C有哪些基本数据类型?简述各类型所占的字节数。
略(见课本表2-2)。
2.16 字符常量与字符串常量有什么区别?由于字符数据在内存中是以ASCII码存储,它的存储形式与整数的存储形式类似。
一个字符常量在计算机的存储中占据一个字节。
字符串常量在内存中按顺序逐个存储字符串中的字符的ASCII码,并在最后自动加上一个字符’\0’(空字符,该字符的ASCII码值为0,也称NULL字符),作为字符串结束标志,所以字符串实际占用字节数要比字符串中字符的个数(长度)多1个。
2.17 什么是表达式?什么变量?变量名和变量值有什么本质区别?表达式是由运算符、常量、变量、函数、圆括号等按一定的规则组成的式子。
每一个表达式也都具有一定的值。
变量是以某标识符为名字(变量名),在程序运行过程中,其值是可以改变的量。
变量名实际上是代表一个内存的存储地址,在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。
变量的存取操作,实际上是通过变量名找到相应的内存地址,从该存储单元中存取数据。
第3章顺序结构3.1有如下程序段:int a1,a2;char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);若要求a1,a2,c1,c2的值分别为10,20,a,b正确的数据输入是 A 。
A.10a 20b↙B.10 a 20 b↙C.10 a20b↙D.10a20 b↙3.2有如下程序,输入数据:12345 678↙后,x的值是 B ,y的值是 A 。
#include<stdio.h>void main(){int x;float y;scanf("%3d%f",&x,&y);}(1) A.12345 B.123 C.45 D.345(2) A.45. B.45678. C.678. D.123.0003.3请写出下面程序的运行结果:#include<stdio.h>void main(){short int a=65,b=100;float x=123.4567, y=-100.3388;char c='a';long n=;unsigned u=65535;printf("%c,%c\n",a,b);printf("%6d,%6d\n",a,b);printf("%f,%f\n",x,y);printf("%-8.2f, %8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y);printf("%e,%10.2E\n",x,y);printf("%c,%d,%o,%x\n",c,c,c,c);printf("%ld,%lo,%x\n",n,n,n);printf("%u,%o,%x,%d\n",u,u,u,u);}运行结果:A,d65, 100123.,-100.123.46 , -100.34,123.4567,-100.3388,123.,-100.1.e+002,-1.00E+002a,97,141,61,,12d68765535,,ffff,65535Press any key to continue3.4顺序结构有哪些主要特点?顺序结构就是按照语句书写的先后顺序依次执行,具有“单入口和单出口”的控制特点。
3.5顺序结构语句可以分为哪几类?简单顺序语句主要有表达式语句、空语句、复合语句等。
3.6编程输入两个整数,输出它们的平方和它们的平方根。
#include<stdio.h>#include<math.h>void main(){int a,b;scanf("%d,%d",&a,&b);if(a>=0&&b>=0){printf("a^2=%d,b^2=%d\n",a*a,b*b);printf("a^1/2=%f,b^1/2=%f\n",sqrt(a),sqrt(b));}}3.7编程输入三角形的三边长,计算并输出三角形面积和周长。