手机版

C语言上机题库百科园第6章!南信大!

时间:2025-05-14   来源:未知    
字号:

第六章

单选

若已定义char s[10];则在下面表达式中不表示s[1]的地址是( )。

A.&s[1]

B.&s[0]+1

C.s+1

D.s++

下面程序段的运行结果是( )。

char a[ ]=”language” , *p ;

p=a ;

while (*p!='u') { printf(“%c”,*p-32); p++ ; }

http://www.77cn.com.cnnguage

http://www.77cn.com.cnngUAGE

http://www.77cn.com.cnNGUAGE

http://www.77cn.com.cnNG

下面能正确进行字符串赋值操作的是( )

A.char s[5]={'A','B','C','D','E'};

B.char s[5]={"ABCDE"};

C.char *s ; s="ABCDE" ;

D.char *s; scanf("%s",s) ;

设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下能正确执行并得到有意义的结果的赋值语句是( )。

A.p2=c;

B.c=*p1+*p2;

C.p1=p2;

D.c=*p1*(*p2);

已有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是

( )。

A.*p=max(a,b);

B.*p=max;

C.p=max;

D.p=max(a,b);

以下正确的叙述是( )。

A.C语言允许main函数带形参,且形参个数和形参名均可由用户指定

B.当main函数带有形参时,传给形参的值只能从命令行中得到

C.若有说明: int main(int argc,char **argv),则argc的值必须大于1

D.C语言允许main函数带形参,形参名只能是argc和argv

若有定义:int (*p)[4];则标识符p( )。

A.是一个指针数组名

B.定义不合法

C.是一个指向整型变量的指针

D.是一个指针,它指向一个含有四个整型元素的一维数组

设有程序段:char s[ ]="china"; char *p ; p=s ;则下面叙述正确的是()。

A.*p与s[0]相等

B.数组s中的内容和指针变量p中的内容相等

C.s数组长度和p所指向的字符串长度相等

D.s和p完全相同

下面程序段的运行结果是( )。

char *s=”abcde” ;

s+=2 ; printf(“%s”,s);

A.字符'c'的地址

B.不确定

C.cde

D.字符'c'

下面判断正确的是()。

A.char str[10]={"china"}; 等价于 char str[10]; str[ ]={"china";}

B.char c[4]="abc",d[4]="abc"; 等价于 char c[4]=d[4]="abc" ;

C.char *a="china"; 等价于 char *a; *a="china" ;

D.char *s="china"; 等价于 char *s; s="china" ;

设有程序段:char s[ ]=”china”; char *p ; p=s ;则下面叙述正确的是( )

A.数组s中的内容和指针变量p中的内容相等

B.*p与s[0]相等

C.s数组长度和p所指向的字符串长度相等

D.s和p完全相同

已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的输出结果是( )

void print_value(int *x)

{ printf(“%d\n”,++*x); }

A.24

B.23

C.25

D.26

若有说明:int *p,m=5,n;以下程序段正确的是( )

A.p = &n ; *p = m ;

B.p=&n ;scanf("%d",&p);

C.p = &n ;scanf("%d",*p);

D.scanf("%d",&n); *p=n ;

变量的指针,其含义是指该变量的( )

A.值

B.地址

C.一个标志

D.名

已有定义int k=2;int *ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是( )

A.ptr2=k;

B.k=*ptr1+*ptr2;

C.k=*ptr1*(*ptr2);

D.ptr1=ptr2

程序设计

/*请编写函数fun,该函数的功能是:判断字符串是否为回文,若是则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。

回文是指顺读和倒读都一样的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。

注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:*/

#include <stdio.h>

#define N 80

int fun(char str[])

{

/***************Begin************/

/*************** End ************/

}

void main()

{

char s[N];

FILE *out;

char test[][80]={"1234321","123421","123321","abcdCBA"}; int i;

printf("Enter a string : ");

gets(s);

printf("\n\n");

puts(s);

if(fun(s))

printf("YES\n");

else

printf("NO\n");

/************************************/

out=fopen("debug\\out12.dat","w");

for(i=0;i<4;i++)

if(fun(test[i]))

fprintf(out,"YES\n");

else

fprintf(out,"NO\n");

fclose(out);

/************************************/

}

【参考代码】

int fun(char str[])

{

int i,n=0,fg=1,j=0;

while (str[j])

{

n++;

j++;

}

for(i=0;i<n/2;i++)

/*循环比较字符*/

if(str[i]==str[n-1-i]);

/*相同,什么都不作*/

else

/*不同,直接跳出循环*/

{

fg=0;

break;

}

return fg;

}

/*请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。 一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。

注意:部分源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:*/

#include<string.h>

#include<stdio.h>

#define N 80

int fun(char *s)

{

/************Begin*************/

/*************End* …… 此处隐藏:4423字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言上机题库百科园第6章!南信大!.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)