c语言-基础题.doc_第1页
c语言-基础题.doc_第2页
c语言-基础题.doc_第3页
c语言-基础题.doc_第4页
c语言-基础题.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、变量1. 以下四项中哪个是不合法的用户标识符(_D_) A) temp B) my_program C) year2009 D) int2 在下列符号中选出3个合法的C语言标识符:(Abc, _char,INT) Abc, 123, _char, a*b, static, case, long,INT3. 在下列符号中,选出可以作变量名的符号(y2k,my_name,*p,_next) y2k 2ky my_name *p -bcd _next if integer do4以下选项中,哪个是合法的C标识符(_D_) A) b-a B) 5ab C) int D) INT5. 设n为16位整数,则n的取值范围是(_C_) A) -32768至32768 B) 0至65536 C) -32768至32767 D) 0至655356假设C语言中一个int型数据在内存中占2个字节,请写出unsigned int 型数据的取值范围。(0至65535)二、常量1. 以下四项中哪个是不合法的常量(_A_) A) xab B) x1f C) 0x1234 D) 2.1e32. 以下选项中,哪个是合法的常量(_C_) A) 0789 B) 0xEFG C) 9.2e2 D) 2e9.2三、二进制与位运算1. 在位运算中,操作数每右移一位,其结果相当于(_C_) A) 操作数乘以2 B) 操作数乘以4 C) 操作数除以2 D) 操作数除以42. 设整数n的值为十进制5, 以16位二进制存贮该数时,其编码是(_D_) A) 0000 0000 0000 0101 B) 1000 0000 0000 0101 C) 1111 1111 1111 1010 D) 1111 1111 1111 10113. 设int n=-1; 则n在内存中的16位编码是(_A_) A) 1111 1111 1111 1111 B) 1000 0000 0000 0001 C) 1111 1111 1111 1110 D) 0000 0000 0000 00004. 表达式10 & 12和10 12的计算结果分别是(_B_) A) 8和14 B) 8和6 C) 14和8 D) 6和8四、表达式1. 设有定义char c;且c表示一个小写字母,结果为对应大写字母的表达式是(_B_) A) c - a + A B) c - a + A C) c - A + a D) c - A + a2. 设有定义int a;判断a是一个偶数的表达式是(_D_) A) a=2*n B) a/2=0 C) a%2 D) a%2=03假设a,b,c分别表示三角形的三个边长,请写出a,b,c能够构成三角形的条件:任意两边之和大于第三边。(a+bc)&(b+ca)&(c+ab)4假设m是一个2位正整数, 请用一个表达式描述m的逆序整数。比如,m是12,则m的逆序整数是21。 (m%10)*10+m/105设有定义int s=168; 请写出表达式s/2+(s+1)/2的值。1686设有定义int x=8; 请写出表达式x2的值。32,27 设有定义int y=2009; 写出表达式 (y%4=0) & (y%100!=0) | (y%400=0) ? Leap Year : Normal Year 的值。 Normal Year8. 设有int n;判断n是一个2位正整数的表达式是(_B_) A) n10 & n=10 & n=99 C) !(n10) | n=10 | n=999. 设有定义int a=5,b; 赋值使b为9的语句是(_D_) A) b=+a+4; B) b=(a+)+3; C) b=8+!(a=5); D) b=(a+=6)?8:9;五、输入、输出1. 设有定义 int a; char c; 执行输入语句 scanf(%d%c,&a,&c); 若要求a和c得到的值为10和Y,正确的输入方式是(_B_) A) 10,Y B) 10Y C) 10.Y D) 10:Y2设有定义:int x;char s80; 执行scanf(“%4d%s”,&x,s);语句,若从键盘第1列开始输入数据1234.56,请分别写出x和s的值。x=1234,s80=.,5,63. 以下哪条语句输出字符a的ASCII编码 (_C_) A) printf(%d,a); B) printf(%c,a); C) printf(%d,a); D) putchar(a);4. 设有char str80;则下列输入字符串的语句中正确的是(_C_) A) scanf(%s,&str); B) scanf(%s,str80); C) scanf(%s,str); D) scanf(%s,str0);5. 设有定义char a=c; 下列语句片段putchar(a); putchar(a); 将输出什么?ca六、函数与语句1.以下选项中,合法的函数说明语句是(_B_) A) void func( char a, b); B) void func( char *a, char b); C) void func( char a; char *b); D) void func( char *a, *b );2. 以下对C程序的描述中正确的是(_C_) A) C程序总是从第一个定义的函数开始执行。 B) C程序总是从最后一个定义的函数开始执行。 C) C程序总是从main()函数开始执行。 D) C程序中的main()函数必须放在程序的开始部分。3. 在C语言中,表示结束当前循环的语句是(_B_) A) return语句 B) break语句 C) continue语句 D) end语句4. 在C语言中,表示结束当前函数的语句是(_A_) A) return语句 B) break语句 C) continue语句 D) exit语句5. 以下四项中哪个是合法的函数说明语句(_A_) A) double func( int a, int b); B) double func( int a, b ); C) double func( a, int b ); D) double func( a, b );6. 在字符串常用函数中,用于比较字符串大小的函数是(_D_) A) strlen B) strcpy C) strcat D) strcmp七、指针、数组1. 定义 int n ,*p1=&n; 假设有赋值语句 *p1=a; p1=b; 请写出变量a和b的定义语句。 int a,*b;2. 以下4个变量定义中,定义p为二级指针的是(_A_) A) int *p; B) int (*p)( ); C) int *p10; D) int (*p)10;3. 设有定义char a=abcDEF,*p=a+3;则puts(p)的输出结果是(_D_) A) abcDEF B) bcDEF C) cDEF D) DEF4. 以下4个变量定义中,定义p为指针数组的是(_A_) A) int *p10; B) int (*p)( ); C) int *p; D) int (*p)10;5. 设有定义char *p=Shanghai,Beijing,Honkong;则结果为j字符的表达式是(_B_) A) p31 B) *(p1+3) C) *(p3+1) D) *p1+36. 设有定义:int a10=6,7,8,9,10;正确解释是(_B_) A) 将5个初值依次赋给a1至a5 B) 将5个初值依次赋给a0至a4 C) 将5个初值依次赋给a6至a10 D) 将5个初值依次赋给a5至a97. 设有定义:int i, a10; 以下能正确输入a数组各元的语句是(_B_) A) i=10; scanf(%d, &ai); B) for(i=0; i=9; i+) scanf(%d, a+i); C) for(i=0; i10; i+) scanf(%d, ai); D) for(i=0; i10; i+) scanf(%d, &a);8定义int a10=0,1,2,3,4,5,6,7,8,9,*p=a+5; 请写出表达式p-a和+(*(+p)的值。 5,79请从以下有关字符串的描述中选出正确的说法(多选)。(AC)A. 字符数组的字符串可以整体输入输出B. 字符数组中只能存放键盘上可以找到的字符C. 字符串That小于字符串TheD. 可以使用形如Thatname1 C) 1 D) *p-name12. 设有变量定义:struct num int x; int y; stu2 = 1,2 , 4,6 ;计算下列表达式的值:sqrt(stu1.x-stu0.x)*(stu1.x-stu0.x)+(stu1.y-stu0.y) *(stu1.y-stu0.y) 5九、文件1. 以下文件函数中,用于将数据写到文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论