(C)一些题11
1.
#include<stdio.h>
#include<string.h>
void main()
{
char *s1="ABCDEF",*s2="aB";
s1++;
s2++;
puts(s1);
puts(s2);
printf("%d\n",strcmp(s1,s2));
}
答案:1
2.程序段:
int?x=12;
double?y=3.141593;
printf(“%d%8.6f,x,y);的输出结果是(
A。123.141593
B.12?
? ?3.141593
C.12?3.141593
D.12?3.141593
3.以下结构体类型说明和变量定义中正确的是()。
A. typedefstruct
{int?n;?char?c;} REC;
REC? t1,t2;?
B.?typedef?struct?
{int?n;?char?c;};?
REC?t1,t2;?
C.?typedef?struct?REC;
{int?n=0;?char?c='A';} t1,t2;
解析:
?用typedef声明新类型名
1.先按定义变量的方法写出定义
2.将变量名换成新类型名
3.在最前面加typedef
4。用新类型名去定义变量
4.下面程序的文件名为t.exe?在DOS下输入的命令行参数为:t?to?meet?me<回车>则程序输出的结果是(?)。?
main(argc,argv)
int?argc;char?*argv【】;
{
int?i;
printf("%d\n",argc);}
A.3?B.4?C.?2?D.?以上答案都不正确
解析:?arac?中存入的是命今行中字符串的个数。argv是一#include?"stdio.h"?个指向字符型的指针数组的指针。
5.若有定义:char*st="how?are?you";,下列程序段中正确的是()
A.?char?a[11],*p;strcpy(p,&st[4]);? ?B.?char?a[11];strcpy(++a,?st);
C.char?a[11?];?strepy(a,st);? ? D.?char?a[],*p;strepy(p=&a[1],st+2);
解析:
本题综合考查字符数组的赋值和?strdov?函数的用法,0港言不允许用赋值表达式对字符数组赋值如下面的语句就是非法的·strl=?"China?“China”这?5?个字符放到数组?strl?中,除了逐个地输入外还能使用?stranv?民的?该辆数的功能是将一个字符串复制到一字符数组中例加·strcnv(strl?"China?stroov/stdolstr2);注音不能企图用以下语句来实行赋值(将str2的值传给?strl):strl=str2;不能用赋体语何将一个字符串常量或字符数组直接给一个字符数组
strcnv?函数的结构是·strcnv(安符数细?1(字符串?2)
其中雲要注音的是?字符数组1的长度不应小于字符串?的长度?"字符数组1”必师写成数组名形式如(strl)?“字符串2”可以是字符数组名,也可以是字符串常量,不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。
A. p没有初始化。加上p=a;或者char?a[11】.*p:?strqpy(p=a,&st[4]);
从st[4]开始复制给p,最终p=“are?you
Ba是数组名,没法自增。
Ca只有11个字符,而st?有11个字符?再加上?10是12个,不够用。
D?没给a的长度。
?
答案:AABC(勉强对)
1.%8.6f? ?8指总长为8,小数点为6位
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!