云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 2013 上半年 C语言练习题汇总答案

2013 上半年 C语言练习题汇总答案

  • 62 次阅读
  • 3 次下载
  • 2026/4/23 13:18:52

c)直接按系统设定的标准方式搜索目录

d)先在源程序所在目录搜索,再按照系统设定的标准方式搜索

解析:本题考查文件包含的知识点:格式1:#include <文件名>,预处理程序在标准目录下查找指定的文件;格式2:#include”文件名”,预处理程序首先在引用被包含文件的源文件所在的目录中寻找指定的文件,如查找不到,再按系统指定的标准目录查找。

3. 下面程序中的for循环执行的次数是____B____. #define N 2 #define M N+1

#define NUM 2*M+1 main( ) {int i;

for(i=1; i<=NUM; i++) printf(“%d\\n”,i);} A、5 B、6 C、7 D、8 (解析:NUM=2*2+1+1=6)

4. 编译预处理的三种形式除宏定义外,还有_______文件包含______和______条件编译_______。

5. 下面程序的输出结果是:(10,64) #include #define f(x) x*x*x int main() { int a=3,s,t; s=f(a+1); t=f((a+1));

printf(\ return 0; }

6. 下面程序的输出结果是?(d=70) #define add(x) x*x main()

{int a=4,b=6,c=7,d=add(a+b)*c; printf(\

指针

1.变量的指针,其含义是指该变量的( B )。 A) 值 B) 地址 C)名 D)一个标志

2.若有以下说明,则正确的赋值表达式是( A )。

int x,*p;

A) p=&x B) p=x C) *p=&x D) *p=*x

3.执行下面程序段后,ab的值为( B )。 int *var,ab;

ab=100;var=&ab; ab=*var+10;

A)120 B)110 C)100 D)90

4.有如下语句

int a=10, b=20, *p1, *p2; p1=&a; p2=&b;

若要实现p1,p2均指向b,可选用的赋值语句是( B )。 A) *p1=*p2; B) p1=p2; C) p1=*p2; D) *p1=p2;

5. 以下程序的运行结果是( B )。 sub(int x,int y,int *z) {*z=y-x;} main() {int a,b,c;

sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);

printf(\A)5,2,3 B)-5,-12,-7 C)-5,-12,-17 D)5,-2,-7

6. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( B )。

main()

{int *p,*q,a,b; p=&a;

printf(\ scanf(\ …… }

A) *p表示的是指针变量p的地址

B) *p表示的是变量a的值,而不是变量a的地址 C) *p表示的是指针变量p的值

D) *p只能用来说明p是一个指针变量。 7. 以下程序的输出结果是( C )。 A. 4 B. 6 C. 8 D. 10 main( )

{ int k=2,m=4,n=6;

int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(\ }

8.若有int a[10]={1,2,3,4,5,6,7,8,9,10};*p=a;则数值为9的数组元素的表达式是( B )。

A. *p+9 B. *(p+8) C. *p+=9 D. p+8

9.若有以下说明, 则a[*(a+a[3])]的值为( C )。 int a[]={8,1,2,5,0,4,7,6,3,9};

A) 8 B) 3 C) 0 D) 不合法

10.若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为____D__. a)*(a[i]+j) b)(a+i) c)*(a+j) d)a[i]+j

11.下面程序段的运行结果是____C_____. char *s=\ s+=2;printf(\

a)cde b)字符'c' c)字符'c'的地址 d)无确定的输出结果

12.以下正确的程序段是_____C____.

a)char str[20]; scanf(\ b)char *p; scanf(\

c)char str[20]; scanf(\ d)char str[20], *p=str; scanf(\ 13.若有说明语句 char a[]=\ char *p=\

则以下不正确的叙述是____D____. a)a+1表示的是字符t的地址

b)p指向另外的字符串时,字符串的长度不受限制 c)p变量中存放的地址值可以改变

d)a中只能存放10个字符

14.下面程序的运行结果是___B____. #include #include main() {

char *s1=\ char *s2=\ s1+=2;s2+=2;

printf(\ }

a)正数 b)负数 c)零 d)不确定的值

15.下面程序段的运行结果是__ef__. char str[]=\ printf(\

16.下面程序的功能是将两个字符串s1和s2连接起来。请填空。 #include main()

{char s1[80],s2[80]; gets(s1); gets(s2); conj(s1,s2); puts(s1); }

void conj(char *p1,char *p2) {char *p=p1; while(*p1)_ p1++_;

while(*p2){*p1=_*p2__;p1++;p2++;} *p1='\\0';

搜索更多关于: 2013 上半年 C语言练习题汇总答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

c)直接按系统设定的标准方式搜索目录 d)先在源程序所在目录搜索,再按照系统设定的标准方式搜索 解析:本题考查文件包含的知识点:格式1:#include <文件名>,预处理程序在标准目录下查找指定的文件;格式2:#include”文件名”,预处理程序首先在引用被包含文件的源文件所在的目录中寻找指定的文件,如查找不到,再按系统指定的标准目录查找。 3. 下面程序中的for循环执行的次数是____B____. #define N 2 #define M N+1 #define NUM 2*M+1 main( ) {int i; for(i=1; i<=NUM; i++) printf(“%d\\n”,i);} A、5 B、6 C、7 D、8 (

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com