(C)一些题9

1.

输出多个字符串的最小字符串
#include<stdio.h>
#include<string.h>
void main()
{
char *a[]=("bag", "good", "this","are", "zoo", "park"】,*min;
int i;
min=a[0];
for(i=1;i<6;i++)
{
if(strcmp(a[i],min)<0)
min=a[i];
printf("%s\n",min);
}

2.

typedef union
{
long i;
int k[5];
char c;
}DATE;

struct date
{
int cat;
DATE COW;
double dog;
}too; 
DATE max;
void main()
{
printf("%d\n",sizeof(struct date)+sizeof(max));
}

答案:52

date=4*5=20   20+20+4+8=52

3.以下4个选项中,不能看作一条语句的是)
 B . a =5, b =2.5,c=3.6;
 A .;
 C . if (a《5)

D。if( b !=5) x =2:y=6;


4.设有语句 int a =4:则执行了语句 a += a -= a * a 后,变量 a 的值是()。
a.-24    b.0     c.4      d.16


5.以下选项中,表示合法常量
 A .整数:1,200
B。实数:1.5,2。0

c。字符常量:‘\’

D:字符串"\007"

6.值为一的表达式

A.1-'0'     B.1-'0'    c.'1'-0     D.'\0'-'0'

解析:学生字符串结束符"\ O "的 ASCII 码为0
字符' O '的 ASCII 码的值为48


7.设有定义: doublex [10],= x ]以下能给数组 x 下标为6的元素读入数据的正确语句是()
 A . scanf ("% f ',& x [6]);      B . scanf ("% lf ", x +6));
 C . scanf ("% lf ", p +6);      D . scanf ("% lf ". p [6]):

 

8.下面程序段中,输出*的个数是(
 char * s ="\ ta \018bc";
 for (:* s !="0'; s ++) printf ("*");
 A .9    B .5    C .6   D .7


9.有以下程序段
 struct st 
{ int x ; int *y );  * pE 
 int a []={1,2},b[]={3,4};
 struct st c [2]={10.a,20.b};
 pt = c ;
以下选项中表达式的值为11的是
 A )* pt -> y      B ) pt->x        C++pt->x       D )( pt ++)-> X 

 

10.语言结构体类型变量在程序运行期间(
 A . TC 环境在内存中仅仅开辟一个存放结构体变量地址的单元

 B .所有的成员一直驻留在内存中
 C .只有最开始的成员驻留在内存中 D .部分成员驻留在内存中

 

11.以下关于宏的定义正确的是(
 A .宏名必须用大写字母表示
 B .宏定义必须位于源程序中所有语句之前 C .宏替换没有数据类型限制
 D .宏调用比函数调用耗费时间

分析:A )选项错误:宏名一般习惯用大写,但可以用小写﹣

 B )选项错误:预处理命令可以出现在任何位置,但习惯上应尽可能地写在源程序的开头
 C )选项正确:宏定义时形参不能指定类型,即没有数据类型限制 

D。错:宏替换在编译时由预处理程序完成
所以宏替换不占用运行时间;而函数调用是在程序运行中处理的,要临时分配存储单元:占用一系列时间

12.设有以下定义
 union data 
{ int dl ;
 float d2;} demo ;
则下面叙述中错误的是()。
 A .变量 demo 与成员d2所占的内存字节数相同
 B .变量 demo 中各成员的地址相同
 C .变量 demo 和各成员的地址相同
 D .若给 demo .d1赋99后, demo .d2中的值是99.0
 
 

13.已定义以下函数
 int fun ( int   *p) 
{ return  *p;}
 fun 函数返回值是(
 A .不确定的值
 C .形参 p 中存放的值
B.一个整数
 D .形参 p 的地址值

14.

# include < stdio b >
# include < stdlib . h>
 int fum ( int n )
{
 int *p ;
 p =( int *) malloc ( sizeof ( int )));
* p =n ; return *p ;
}

 main()
{ 
 int a ;
 a = fun (10); printf ("% d \n ",a+ fum (10));
} 


 malloc ()函数的作用是分配制定字节数的空间
 sizeof ()为单目运算   求出对应类型所占用的字节数
(类型名)为单目运算    为强制类型转换
要注意的是 malloce 函数申请得到的空间是无类型的空间   必须强制转换成对应指针可以指向的空间的类型
这里定义的是 int * p    所以 p 指针只能指向 int 型空间
 sizeof ( int )求得 int 类型所占的字节数
 malloc ( sizeof ( int ))申请一个跟 int 所占的空间大小一样的空间
( int *) malloc ( sizeof ( int ))将申请得到的空间地址转换成了 int 类型空间地址
最后就可以赋值给指向 int 型空间的 p 指针了

程序的运行结果是
 A )0 B )10 C )20 D )出错
 

答案:DADBC   CCBCD  BC

3.‘\1’才是字符,A不能由逗号

4.A。1-48   B。1-0     C。49-0    D。0-48

5.A。应是%lf    B和D是元素

6. \t   a   \01  8   b  c

7.A.1,  B.10    D.20

10.demo.d2为0.00000,如果都是int类型则相同,不同类型则不同

15.

4.下列程序的运行结果是_ accbbxxyy , bbxxyy 
# include < stdio . h >
 void fun ( char * t , char * s )
{
 while (* t !=0)
t++;
 while ((* t ++=* s ++)!=0);
}
 main ()
{
 char ss [10]=" acc ", aa [10]=" bbxxyy ";
 fun ( ss , aa );
 printf ("% s ,% s \n ", ss , aa );

}

16.

函数 my _ cmp ()的功能是比较字符串 s 和 t 的大小,当 s 等于 t 时返回0,否则返回 s 和 t 的第一个不同字符的 ASCII 码差值,即 s > t 时返回正值, s < t 时返回负值。请填空。
# include < stdio . h >
 My _ cmp ( char * s , char * t )
{
 while (* s ==* t )
{
 if (* s =='0')
_________________
++ s ;++ t ;
} return 
________________
}

 void main()
{
 char s [100],t[100];
 printf ("\ nPlease enter string s :");
 gets ( s );
 printf (" \nPlease enter string t :");
 gets ( t );
 printf ("\ nThe result is :% d \ n ", My cmp ( s , t ));


答案:return 0;  *s-  *t;

17.

已知学生的记录由学号和学习成绩构成, N 名学生的数据已存入结构体数组 a 中。请编写函数 fun 。函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。
# include < stdio . h >
# include < string . h >
# define N 10
 typedef struct ss 
{ char num [10]; int s ;}STU ;
 fun ( STU a [], STU * s )
{
 int i , max = a [0]. s , j =0;
 for ( i =1; i < N ; i ++)
 if ( max < a [ i ]. s )
j=i;
 max = a [ i ]. s ;
}

 void main ()
{ STU a [ N ]={
  {"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71}}, m ;
int i ;
 printf ("The original data\n");
 for ( i =0; i < N ; i ++)
 printf (" No =% s Mark =% d ", a [ i ].num,a[i].a);
 fun (a,&m);
printf (" The Result");
printf("The top;%s,%d\n",m.num,m.s);
}

相关推荐

  1. C一些9

    2023-12-07 15:00:05       48 阅读
  2. C一些11

    2023-12-07 15:00:05       54 阅读
  3. C一些10

    2023-12-07 15:00:05       52 阅读
  4. C一些15

    2023-12-07 15:00:05       49 阅读
  5. C一些19

    2023-12-07 15:00:05       46 阅读
  6. C一些19

    2023-12-07 15:00:05       51 阅读
  7. C一些21

    2023-12-07 15:00:05       47 阅读
  8. C一些15

    2023-12-07 15:00:05       49 阅读
  9. 【leetcode面试经典1509.跳跃游戏(C++)

    2023-12-07 15:00:05       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-07 15:00:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-07 15:00:05       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-07 15:00:05       82 阅读
  4. Python语言-面向对象

    2023-12-07 15:00:05       91 阅读

热门阅读

  1. 【Flink on k8s】- 5 - 简要介绍 Flink

    2023-12-07 15:00:05       47 阅读
  2. 消息中间件基本概念

    2023-12-07 15:00:05       59 阅读
  3. 微信小程序网络请求二次封装

    2023-12-07 15:00:05       74 阅读
  4. django 创建表模型中的meta

    2023-12-07 15:00:05       48 阅读
  5. vue面试题整理(1.0)

    2023-12-07 15:00:05       46 阅读
  6. C/C++混合编程:事半功倍的利器

    2023-12-07 15:00:05       56 阅读
  7. 从输入URL到页面加载的全过程

    2023-12-07 15:00:05       71 阅读
  8. 新知识-Tuple元组的使用

    2023-12-07 15:00:05       54 阅读
  9. day4 节点两两交换

    2023-12-07 15:00:05       47 阅读
  10. Jtti:降低香港服务器被攻击的几种策略方法

    2023-12-07 15:00:05       56 阅读